簡體   English   中英

SELECT 后 PHP MySQL 受影響_rows = -1

[英]PHP MySQL affected_rows = -1 after SELECT

我試圖通過閱讀來解決我的問題,但我找不到解決方案。 我正在我的數據庫中搜索 ID。 $stmt->affected_rows() 總是 -1。 我不知道我在這里做錯了什么......

$uuid = '76561198036258382';
if (!($stmt = $mysqli->prepare("SELECT steamid, personaname FROM cs_user 
WHERE steamid = ?"))) {
echo "Prepare failed: (" . $mysqli->errno . ") " . $mysqli->error;
}
if (!$stmt->bind_param("s", $uuid)) {
echo "Binding parameters failed: (" . $stmt->errno . ") " . $stmt->error;
}
if(!$stmt->execute()){
echo "Execute failed: (" . $stmt->errno . ") " . $stmt->error;
}
print_r($stmt);

好消息:我沒有從 mysqli 中得到錯誤。 壞消息:print_r 的輸出是:

mysqli_stmt Object
(
    [affected_rows] => -1
    [insert_id] => 0
    [num_rows] => 0
    [param_count] => 1
    [field_count] => 2
    [errno] => 0
    [error] => 
    [error_list] => Array
        (
        )
    [sqlstate] => 00000
    [id] => 1
)

但是我正在搜索的 ID 在我的數據庫中。 我做錯了什么?

第一: select查詢rows count將從num_rows獲得。

第二: Insert,update,delete affected row count將得到affected_rows

詳細說明答案。

使用 num_rows 提取計數或數據的查詢,但是必須使用變量從查詢結果中調用它們。
例子:

$query = $cnx->query("select * from users where users.username = '" . $user['username'] . "'");

$query->num_rows;

但是對於使用 Impact_rows 操作數據,它可以直接從連接變量本身調用。

$cnx->query("UPDATE users SET " . $query . " WHERE users.id = " . $_SESSION['user']['id'] . ";")

$cnx->affected_rows

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM