这个问题在这里已经有答案了:
php解析/语法错误;以及如何解决这些问题(18个答案)
两年前关门了。
请帮助我,我有一个考试明天(html,php,使用mysql)和尝试一个评论员我不断得到这个错误
( ! ) 分析错误:语法错误,第18行的d:\wamp\www\final\u exam\roomreserved.php中出现意外“”(t\u encapsed\u和\u whitespace),需要标识符(t\u string)或变量(t\u variable)或数字(t\u num\u string)
这是18号线上的
mysqli_query($con, "insert into Reservation values ('$CN['CNO']', CURDATE(), '$RoomCode', '$NoR', '$RC['RoomDesc']')")
1条答案
按热度按时间ao218c7q1#
这里的问题是,您没有在字符串中转义php变量;
现在的情况是,数组和查询都有单引号,因此在变量周围使用大括号将“转义”
在数组和查询中使用单引号会使它认为字符串比预期的多
您也可以用其他方法来实现这一点,下面是一个在所有变量周围使用大括号的示例,其中变量分别“连接”到查询字符串;
有一件事也要考虑到-这个用户是恶意的吗?查看函数,例如
addslashes
或者mysqli_real_escape_string
为了帮助您对抗sql注入-这两个都是“可接受的”,但不是最好的,请查看准备好的语句,因为它们是防止sql注入的最佳选择(cd001在您的问题的评论中提供了最好的资源)