如何在同一PHP代码中执行两个查询?
我是PHP编程新手。我想在同一个PHP代码中执行两个查询。第一个查询给了我预期的结果。但第二个问题似乎不起作用。但它不会向我显示任何错误消息。有人能帮我吗如何在同一PHP代码中执行两个查询?,php,mysql,Php,Mysql,我是PHP编程新手。我想在同一个PHP代码中执行两个查询。第一个查询给了我预期的结果。但第二个问题似乎不起作用。但它不会向我显示任何错误消息。有人能帮我吗 <?php mysql_connect('localhost','root',''); mysql_select_db('health'); $query1="SELECT * FROM messages,doctor WHER
<?php
mysql_connect('localhost','root','');
mysql_select_db('health');
$query1="SELECT * FROM messages,doctor WHERE doctor.regNo=messages.regNo AND messages.ID='".$id."';";
$result1=mysql_query($query1) or die(mysql_error());
$row=mysql_fetch_array($result1);
echo '<table cellspacing="10">';
echo '<tr><td><b>From: </b></td><td>Dr. '.$row['firstName'].' '.$row['lastName'].'</td></tr>';
echo '<tr><td><b>Category: </b></td><td>'.$row['category'].'</td></tr>';
echo '</table>';
echo '<p style="padding-left:13px;">'.$row['reply'].'</p>';
echo '</br><b style="padding-left:13px;">Your question</b></br>';
echo '<p style="padding-left:13px;">'.$row['question'].'</p>';
$query2="UPDATE health.messages SET read='Y' WHERE messages.ID='".$id."';";
$result2=mysql_query($query2);
mysql_close();
?>
您正在使用保留的MySQL字(例如READ
)作为列名
要解决此问题,请更改行
$query2="UPDATE health.messages SET read='Y' WHERE messages.ID='".$id."';";
到
我还建议您注意其他人关于使用不推荐的MySQL函数和SQL注入问题的警告
您还应该尝试在命名列时更加独特,而不会与其他列发生冲突。尝试使用一致的前缀(例如messageRead
或isRead
)您正在使用保留的MySQL字(例如READ
)作为列名
要解决此问题,请更改行
$query2="UPDATE health.messages SET read='Y' WHERE messages.ID='".$id."';";
到
我还建议您注意其他人关于使用不推荐的MySQL函数和SQL注入问题的警告
您还应该尝试在命名列时更加独特,而不会与其他列发生冲突。尝试使用一致的前缀(例如messageRead
或isRead
)您正在使用保留的MySQL字(例如READ
)作为列名
要解决此问题,请更改行
$query2="UPDATE health.messages SET read='Y' WHERE messages.ID='".$id."';";
到
我还建议您注意其他人关于使用不推荐的MySQL函数和SQL注入问题的警告
您还应该尝试在命名列时更加独特,而不会与其他列发生冲突。尝试使用一致的前缀(例如messageRead
或isRead
)您正在使用保留的MySQL字(例如READ
)作为列名
要解决此问题,请更改行
$query2="UPDATE health.messages SET read='Y' WHERE messages.ID='".$id."';";
到
我还建议您注意其他人关于使用不推荐的MySQL函数和SQL注入问题的警告
您还应该尝试在命名列时更加独特,而不会与其他列发生冲突。尝试使用一致的前缀(例如messageRead
或isRead
)
是的,它给了我一个错误。错误是“您的SQL语法有错误;请查看与您的MySQL服务器版本对应的手册,以了解在第1行的messages.ID='7''附近使用的正确语法”
read
是MySQL保留字
在列名周围使用反勾号
例如:
SET `read`='Y'
或者用另一个词来形容它
但它不会向我显示任何错误消息
那是因为你没有检查错误。在打开后立即将错误报告添加到文件顶部
是的,它给了我一个错误。错误是“您的SQL语法有错误;请查看与您的MySQL服务器版本对应的手册,以了解在第1行的messages.ID='7''附近使用的正确语法”
read
是MySQL保留字
在列名周围使用反勾号
例如:
SET `read`='Y'
或者用另一个词来形容它
但它不会向我显示任何错误消息
那是因为你没有检查错误。在打开后立即将错误报告添加到文件顶部
是的,它给了我一个错误。错误是“您的SQL语法有错误;请查看与您的MySQL服务器版本对应的手册,以了解在第1行的messages.ID='7''附近使用的正确语法”
read
是MySQL保留字
在列名周围使用反勾号
例如:
SET `read`='Y'
或者用另一个词来形容它
但它不会向我显示任何错误消息
那是因为你没有检查错误。在打开后立即将错误报告添加到文件顶部
是的,它给了我一个错误。错误是“您的SQL语法有错误;请查看与您的MySQL服务器版本对应的手册,以了解在第1行的messages.ID='7''附近使用的正确语法”
read
是MySQL保留字
在列名周围使用反勾号
例如:
SET `read`='Y'
或者用另一个词来形容它
但它不会向我显示任何错误消息
那是因为你没有检查错误。打开后立即在文件顶部添加错误报告,如果您是新手,请不要浪费时间使用传统的mysql扩展。它将触发代码中的错误,并将在某一天被删除。无论如何,负责打印错误的代码部分是或die(mysql\u error())
。在第二个查询中不使用它。$result2=mysql\u query($query2)或die(mysql\u error());试着改变一下,看看它是否会触发一个错误,“但它不会向我显示任何错误信息。”-那是因为你没有检查错误。在打开后立即将错误报告添加到文件的顶部。您的代码存在两个严重问题。首先,您应该将准备好的查询与PDO或类似的查询一起使用。否则,您可能会受到SQL注入攻击和代码破坏,因为您的数据在查询中使用而没有转义。此外,您只需将文本数据直接回显到HTML中,而无需转义。您必须使用htmlspecialchars()`否则可能会创建无效的HTML并使自己面临XSS攻击。如果您是新手,请不要浪费时间使用传统的mysql扩展。它将触发代码中的错误,并将在某一天被删除。无论如何,负责打印错误的代码部分是或die(mysql\u error())
。在第二个查询中不使用它。$result2=mysql\u query($query2)或die(mysql\u error());试着改变一下,看看它是否会触发一个错误,“但它不会向我显示任何错误信息。”-那是因为你没有检查错误。在打开后立即将错误报告添加到文件顶部有几个严重问题