我正在尝试执行带有我的 mysql 查询的 php,但我终究无法弄明白。我曾尝试用单引号将变量 $money_earned 括起来,但无济于事。它是一个浮子。 $userdata 变量是一个字符串。运行我的代码时出现此错误:
Parse error: syntax error, unexpected T_STRING
这是我的 mysql 查询:
$query = "UPDATE `authentication` SET `money` = money + $money_earned WHERE `username` = '$userdata'";
mysql_query($query);
在这里我将发布完整的代码,希望这样可以更容易地解决这个问题:
<?php
mysql_connect("blahblahblah");
mysql_select_db(blah) or die("Unable to select database");
$userdata = $_SESSION['userz'];
$secret_key = "TOPSECRET";
$user = $_GET['snuid'];
$money_earned = $_GET['currency'];
$id = $_GET['id'];
$secret = $_GET['verifier'];
$secret_check = md5($id.":".$user.":".$money_earned.":".$secret_key);
if($secret == $secret_check) {
$query = "UPDATE `authentication` SET `money` = money + $money_earned WHERE `username` = '$userdata'";
mysql_query($query);
} else {
}
最佳答案
我注意到了一些事情,尽管与您收到的解析错误无关(正如其他人所指出的,您的代码在语法方面似乎是正确的)。
- 在调用
$_SESSION['userz'];
变量之前,您不需要session_start();
。 - 您应该使用以下命令转义您的
$userdata
:$userdata = mysql_real_escape_string($_SESSION['userz']);
- 考虑为 mysql 切换到 PDO。
关于mysql查询中的PHP语法错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13571827/