这是我为相应用户更新“lastactive”列的新代码,但它仍然没有更新lastactive。 lastactive的数据类型是时间所以它应该插入,我做错了什么?
$userID = mysqli_query("SELECT id FROM users WHERE username = '$dbusername' AND password = '$dbpassword' ");
mysqli_query("UPDATE users SET lastactivity = ".time()." WHERE ID = ".$userID);M
答案 0 :(得分:0)
mysqli_query
在出错时返回FALSE,或在成功时返回结果对象。
您必须调用它的fetch_all
或fetch_assoc
方法,然后选择您的单个值。
答案 1 :(得分:0)
在您的代码中,$userID
尚未从mysqli_query
电话中提取mysqli_query()
。请记住return type for queries是
失败时为假。对于成功的 SELECT,SHOW,DESCRIBE 或 EXPLAIN 查询
mysqli_query()
将返回mysqli_result
个对象。对于其他成功的查询,if( $result = mysqli_query("SELECT id FROM users WHERE username = '$dbusername' AND password = '$dbpassword' ")) { // Fetch the row $row = $result->fetch_assoc(); // Update the time $success = mysqli_query("UPDATE users SET lastactivity = '".time()."' WHERE ID = '".$row['id']."' "); // Report success of second query if( $success) { echo 'Success'; } else { echo 'Failed to update lastactivity for user ID ' . $row['id']; } } else { // Report failure of first query echo 'User ID select query failed.'; }
将返回TRUE。
要从结果中获取ID,您需要使用fetch_assoc或fetch_array获取数据。 (请注意,不推荐使用mysql_fetch_array,不应使用它。)
{{1}}