2011-07-04 63 views
-1

Possible Duplicate:
mysql_fetch_array() expects parameter 1 to be resource, boolean given in select警告:mysql_num_rows()預計參數1是資源,布爾在C中給出: 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"; 
} 
?> 

它現在的工作

+0

是什麼'回聲$ sql'打印? – k102

+0

解析錯誤:語法錯誤,意外的T_IF,期待','或';'在第26行C:\ xampp \ htdocs \ html \ Login \ checklogin.php – spencer

+1

http://stackoverflow.com/questions/5473981/warning-mysql-fetch-array-expects-parameter-1-to-be-resource -boolean-given-i – 2012-07-10 11:54:52

回答

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()); 

當查詢失敗,它返回FALSE,因此要傳遞到mysql_num_rows()的BOOLEAN;在繼續使用代碼之前,您應該始終檢查結果是否存在。

+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."'"; 
相關問題