我试着通过阅读来解决我的问题,但我找不到解决方案。 我在我的数据库中搜索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是在我的数据库中。我做错了什么?
答案 0 :(得分:1)
select
count
的{{1}} rows
来自num_rows
。
第二名: Insert,update,delete
affected row
count
将来自affected_rows
答案 1 :(得分:-1)
详细说明答案。
使用num_rows查询提取计数或数据,但是必须使用变量从查询结果中调用它们。
例如:
$query = $cnx->query("select * from users where users.username = '" . $user['username'] . "'");
$query->num_rows;
但是要使用受影响的行操作数据,可以直接从连接变量本身调用它。
$cnx->query("UPDATE users SET " . $query . " WHERE users.id = " . $_SESSION['user']['id'] . ";")
$cnx->affected_rows