php - 将值从 PHP 传递到 MySQL 失败,但在 PHPMyAdmin 中有效

标签 php mysql

在我的网络服务中,当用户注册时,他们会获得一个存储在表中的 token (在本例中,它是一个没有任何分隔符的 GUID)。

为了测试它是否正常工作,我转到 PHPMyAdmin 并在 SQL 查询选项卡中输入

SELECT * FROM MyTable WHERE Token=my_guid AND Username=user AND Password=pass

这会正确返回行

我有一个 Web 服务,它接受 3 个参数并执行相同的 SQL 查询,但是没有返回任何行。如果我删除 token 参数,该行将正常返回。表中显示Token字段设置为42个字符。

在我的 PHP 文件中,失败的查询如下所示

$query = "SELECT * from Login WHERE Username = '$username' AND Password = '$password' AND Token = '$token';";
$result = mysql_query($query,$link) or die('Errant query:  '.$query);

是否正在进行某种终端字符剥离,因为我不明白为什么查询应该在删除 token 的情况下工作,但当它存在并在数据库中时不起作用。

服务器正在使用 PHP 5.6.35

最佳答案

应该是

$query = "SELECT * from Login WHERE Username = '{$username}' AND Password = '{$password}' AND Token = '{$token}';";

关于php - 将值从 PHP 传递到 MySQL 失败,但在 PHPMyAdmin 中有效,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49940202/

相关文章:

MySQL 别名子查询不能在 where 子句中使用

mysql - OTRS fatal error

php - MySQL:在带有@rownum 的php 函数中左联接?

php - 如何使用 jquery php 保存动态添加的行?

java - mysql语句未正确排序多列的总和

mysql - 如何在数据库上存储带有订购项目的 list

php - 如何像 mongodb 一样链接来自 mysql 的数据以将 json 传递给 api

php - 在多个 for 循环中不断计数

php - SVN协作失败

php - MySQL PHP 查询问题