0

我正在尝试执行我的 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 {

}
4

2 回答 2

3

我注意到的几件事,虽然与您收到的解析错误无关(正如其他人所指出的,您的代码似乎是正确的语法)。

  1. 在调用变量session_start();之前不要这样做。$_SESSION['userz'];
  2. 您应该$userdata使用以下内容逃避您的:$userdata = mysql_real_escape_string($_SESSION['userz']);
  3. 考虑为 mysql 切换到 PDO。
于 2012-11-26T19:57:49.190 回答
0

尝试连接字符串,如:

$query = "UPDATE authentication SET money = money + ". $money_earned." WHERE username = ".$userdata; mysql_query($query);

于 2012-11-26T19:45:23.060 回答