我知道这个问题已被许多人提出并回答,但我似乎无法通过我找到的参考资料将这项工作放在我身边。
我知道mysql正在逐步淘汰,但我只是希望得到这项工作。我的想法是使用我从上一页获得的ID更新所选行。错误和代码如下所示。
错误:
警告:mysql_query()要求参数1为字符串,资源在第8行的C:\ xampp \ htdocs \ file \ doAttendance.php中给出 的 doAttendance.php:
<?php
include "dbFunctions.php";
$id = $_REQUEST['id'];
$presence = 'Yes';
$selectQuery = mysql_query("SELECT * FROM guests WHERE id = '$id'");
$selected = mysql_query($selectQuery, $connect) or die(mysql_error($connect));
if (mysql_num_rows($selected) > 0) {
} else {
$sql = mysql_query ("UPDATE guests SET presence='$presence' WHERE id = '$id'");
$updated = mysql_query($sql, $connect) or die(mysql_error($connect));
}
?>
答案 0 :(得分:1)
我没有看到@ThiagoUruray的评论,如果我在拍摄前看到它 回答,我不会。在我评论后,我重新检查了警告 问题,我看到@Paige,使用mysql_query double犯了一个错误 时间。
以下是解决方案:
你错过mysql_query
的使用。
您必须将查询字符串传递给mysql_query而不是资源。我只是从mysql_query
和$selectQuery
变量中移除了$sql
。
<?php
include "dbFunctions.php";
$id = $_REQUEST['id'];
$presence = 'Yes';
$selectQuery = "SELECT * FROM guests WHERE id = '$id'";
$selected = mysql_query($selectQuery, $connect) or die(mysql_error($connect));
//check if any rows found then update the rows.
if (mysql_num_rows($selected) > 0) {
$sql = "UPDATE guests SET presence='$presence' WHERE id = '$id'";
$updated = mysql_query($sql, $connect) or die(mysql_error($connect));
}
?>
这是您在此代码中唯一的错误,因此您的结果显示:
警告:mysql_query()要求参数1为字符串,资源 在第8行的C:\ xampp \ htdocs \ file \ doAttendance.php中给出 doAttendance.php:
现在好了,让我知道。