2017-07-30 23 views
0

我想獲得一個mysqli查詢的結果的行數,但是這段代碼什麼也沒有返回。得到msqli字段的結果數

$mysqli = new mysqli('127.0.0.1', 'root', 'pass', 'db'); 
$sql = "SELECT * FROM user WHERE username = '".$_POST['username']."'"; 
$result = $mysqli->query($sql); 

if($result->num_rows == 0){ 
    echo "0"; 
}else{ 
    $query = "INSERT INTO user (username,password) VALUES ('".$_POST['username']."','".md5($_POST['pass'])."')"; 
    if($mysqli->query($query)){ 
    echo "1"; 
    }else{ 
    echo "2"; 
    } 
} 
+0

所以或許querry失敗,如何檢查 – rtfm

+2

強制性的MySQL注入警告 – rtfm

+0

和弱哈希算法警告 –

回答

0
$mysqli = new mysqli('127.0.0.1', 'root', 'pass', 'db'); 
$sql = "SELECT * FROM user WHERE username = '".$_POST['username']."'"; 
$result = $mysqli->query($sql); 
$rowcount=mysqli_num_rows($result); 
echo $rowcount; 

if($rowcount == 0) 
{ 
echo "0"; 
} 

else 
{ 

$query = "INSERT INTO user (username,password) VALUES ('".$_POST['username']."','".md5($_POST['pass'])."')"; 

if($mysqli->query($query) 
{ 
echo "1"; 
} 
else 
{ 
echo "2"; 
} 

}