gpt4 book ai didi

php - MySQL 查询语法 - 在 phpMyAdmin 中有效,但在页面上无效

转载 作者:行者123 更新时间:2023-11-30 01:32:51 26 4
gpt4 key购买 nike

这是我的用户表:

uid (main) | username  | password
1 | Admin | "(actual password removed)"
2 | Dummy | "(another password removed)"

我的 MySQL 查询如下:

SELECT * FROM `users` WHERE username = "Admin"

我的 php 代码如下所示:

$con=@mysqli_connect("localhost","root","root","database");
$sql='SELECT * FROM `users` WHERE username = "Admin"';
mysqli_prepare($con, $sql);
mysqli_query($con, $sql);
mysqli_close($con);

如果我在 phpMyAdmin 中运行此代码,那么它会成功返回第一行,但是如果我从我的 php 页面运行它,则会收到以下错误:

Fatal error: Problem preparing query (SELECT * FROM `users` WHERE username = "Admin") You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '"Admin"'

我不明白有什么区别...

最佳答案

您应该对变量而不是整个字符串使用准备。 MySQL 正在将它们转义为更安全的替代方案 ',通过浏览器查看时看起来像 '

查找MySQL Prepare并查看示例部分以了解其应该如何使用

为了使您的代码正常工作,您可以删除准备,或使准备仅应用于变量部分(在本例中没有附加变量?)

关于php - MySQL 查询语法 - 在 phpMyAdmin 中有效,但在页面上无效,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17249967/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com