2010-06-09 34 views
1

我試圖插入一個MySQL數據庫和我得到這個錯誤:PHP/MySQL的錯誤:mysql_num_rows():提供的參數不是一個有效的MySQL結果

if (mysql_num_rows($login) == 1){ 

這裏是PHP ,PHP不會將用戶添加到數據庫中。我無法弄清楚。

<? 
session_start(); 
require("config.php"); 

$u = $_GET['username']; 
$pw = $_GET['password']; 
$pwh = $_GET['passwordhint']; 
$em = $_GET['email']; 
$zc = $_GET['zipcode']; 


$check = "INSERT INTO family (loginName, email, password, passwordhint, location) VALUES ('$u', '$pw', '$pwh', '$em', '$zc')"; 


$login = mysql_query($check, $link) or die(mysql_error()); 


if (mysql_num_rows($login) == 1) { 
$row = mysql_fetch_assoc($login); 
echo 'Yes';exit; 


} else { 
echo 'No';exit; 
} 

mysql_close($link); 
?> 

感謝,

回答

4

你正在做的INSERT查詢,所以$login將不包含任何結果集,它要麼truefalse

因此,不是這樣的:

if (mysql_num_rows($login) == 1) { 

你可以這樣做:

if (mysql_affected_rows($link) == 1) { 

或者這樣:

if ($login == true) { 

而且,你並不需要這一行了:

$row = mysql_fetch_assoc($login); 

與您的問題無關,但在執行SQL查詢時要記住一個非常重要的事情:在插入前,您需要使用mysql_real_escape_string()轉義所有$_GET數據,以防止SQL injection

+0

如果我可以我願意給你+2。 – 2010-06-09 17:22:56

+0

謝謝,它非常棒! – 2010-06-09 19:04:30

0

mysql_query()返回真/假的INSERT,UPDATE,DELETE,DROP ...

相關問題