2011-07-04 7 views
-1

Possible Duplicate:
mysql_fetch_array() expects parameter 1 to be resource, boolean given in select警告:はmysql_num_rows()は、パラメータ1がCに与えられたリソース、boolean型であることを期待: xamppの htdocsに HTML ログイン checklogin.phpライン上の23

私のログインシステムに行くを取得しようとして

こんにちはイムと

<?php 
$host="localhost"; 
$username="root"; 
$password="power1"; 
$db_name="members"; 
$tbl_name="users"; 

$link = mysql_connect("$host", "$username", "$password")or die("cannot connect"); 
mysql_select_db("$db_name")or die("cannot select DB"); 

$Email=$_POST['Email']; 
$Password=$_POST['Password']; 

$Email = stripslashes($Email); 
$Password = stripslashes($Password); 
$Email = mysql_real_escape_string($Email); 
$Password = mysql_real_escape_string($Password); 


$sql="SELECT * FROM $tbl_name WHERE Email='$Email' AND password ='$Password'"; 
$result=mysql_query($sql, $link) or die ('Unable to run query:'.mysql_error()); 


$count=mysql_num_rows($result); 


if($count==1){ 
session_register("Email"); 
session_register("Password"); 
header("location:login_success.php"); 
} 
else { 
echo "Wrong Email or Password"; 
} 
?> 

ITSはそれはあなたのクエリが何らかの理由で失敗しているということができ、今

+0

'$ sql'プリントをエコーんでしょうか? – k102

+0

構文解析エラー:構文エラー、予期しないT_IF、 '、'または ';' C:\ xampp \ htdocs \ html \ Login \ checklogin.php 26行目 – spencer

+1

http://stackoverflow.com/questions/5473981/warning-mysql-fetch-array-expects-parameter-1-to-be-resource -boolean-given-i –

答えて

2

作業、

$link = mysql_connect("$host", "$username", "$password")or die("cannot connect"); 

//.... 

$sql="SELECT * FROM $tbl_name WHERE username='$Email' AND password ='$Password'"; 
$result=mysql_query($sql, $link) or die ('Unable to run query:'.mysql_error()); 
を試してみてください。私は私のコードである、ここで、このエラーを取得しておきます

または

if(!$result) die ('Unable to run query:'.mysql_error()); 

クエリが失敗した場合、それは)あなたがはmysql_num_rows(に渡しているBOOLEANしたがって、FALSEを返します。コードを実行する前に結果が実際に存在するかどうかを常に確認する必要があります。

+0

これでもクエリの実際の問題を特定できません –

+0

@Shakti:そして?私たちは、なぜクエリが失敗しているのかを理解するのに十分には与えられていません。 –

+0

私はこれを試してみましたが、動作しませんでした – spencer

1

For SELECT, SHOW, DESCRIBE, EXPLAIN and other statements returning resultset, mysql_query() returns a resource on success, or FALSE on error.

For other type of SQL statements, INSERT, UPDATE, DELETE, DROP, etc, mysql_query() returns TRUE on success or FALSE on error.

http://php.net/manual/en/function.mysql-query.php

あなたはあなたのクエリにエラーがあります。

1

は、この方法を試してください。

$sql="SELECT * FROM ".$tbl_name." WHERE username='".$Email."' AND password ='".$Password."'"; 
関連する問題