2014-10-19 42 views
0

這是我目前擁有的代碼:返回的行數不工作

$stmt = $mysqli->prepare("SELECT * FROM Account WHERE accountKey=? AND accountUsername=?"); 
    $stmt->bind_param('ss', $key,$username); 

    $stmt->execute(); 
    $stmt->store_result(); 
    $numrows = $stmt->num_rows; 

的問題是查詢的罰款。我在PHPMyAdmin上試了一下,它返回了一個結果。當我檢查我有多少結果得到了與這一個始終爲0時,它應該是1 ...你知道會發生什麼......

查詢從的phpMyAdmin: http://i.imgur.com/PFrXNgf.png

+0

那麼,什麼是'?'?還要注意你正在使用'準備'。 – 2014-10-19 00:34:37

+0

查詢很好。我沒有得到任何錯誤。它只是返回0我試圖只把accountKey或accountUsername和他們都沒有改變任何東西... – 2014-10-19 00:38:42

+0

也許我應該更直接。說什麼是'$ key'和'$ username'。它是否存在於'Account'中? – 2014-10-19 00:38:57

回答

0
<?php 
error_reporting(E_ALL); 
ini_set('display_errors', 1); 

include("../script/connection.php"); 

$link = mysqli_connect($SQLhost, $SQLusername, $SQLpassword, $SQLdatabase); 

if (mysqli_connect_errno()) { 
    printf("Connect failed: %s\n", mysqli_connect_error()); 
    exit(); 
} 

$key = '4dc5f0ea67ca3791614b28c310cd1c79'; 
$username = 'jean8mathieu'; 

$query = "SELECT * FROM Account WHERE accountKey=? AND accountUsername=?"; 

if ($stmt = mysqli_prepare($link, $query)) { 
    mysqli_stmt_bind_param($stmt, 'ss', $key, $username); 
    mysqli_stmt_execute($stmt); 
    mysqli_stmt_store_result($stmt); 
    printf("Number of rows: %d.\n", mysqli_stmt_num_rows($stmt)); 
    mysqli_stmt_close($stmt); 
} else { 
    printf('errno: %d, error: %s', $mysqli->errno, $mysqli->error); 
    exit; 
} 

mysqli_close($link); 
+1

而且?解釋會很好。一段代碼可能不清楚OP,他們做錯了什麼。或者他們做錯了什麼。 – 2014-10-19 01:06:54

+0

我現在得到這個:mysqli_stmt_bind_param()期望參數1是mysqli_stmt,在 – 2014-10-19 01:09:34

+1

給出的字符串是的,我的錯,我忘了添加$ stmt作爲第一個參數。 – 2014-10-19 01:10:53