mysql查询中的PHP语法错误

标签 php mysql

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

}

最佳答案

我注意到了一些事情,尽管与您收到的解析错误无关(正如其他人所指出的,您的代码在语法方面似乎是正确的)。

  1. 在调用 $_SESSION['userz']; 变量之前,您不需要session_start();
  2. 您应该使用以下命令转义您的 $userdata:$userdata = mysql_real_escape_string($_SESSION['userz']);
  3. 考虑为 mysql 切换到 PDO。

关于mysql查询中的PHP语法错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13571827/

相关文章:

每月运行一次的 php 和 mysql 程序

mySQL:如何从表中选择列表中的位置而不是另一个列表中

php - 返回具有相同克隆名称 mysql-php 的多行

c# - 从 C# 调用 PHP Web 服务

php - 如何使用 AJAX 从 php 获取整个数据并将其显示在 html 中

php - 将相对链接变成绝对链接

MySQL 还是 NoSQL?处理大量数据的推荐方法

php - 计算具有相同 id 的行数 [PHP]

MySQL 服务器每秒只向我发送 300 行

mysql - SQL 查询分组依据和过滤器