簡體   English   中英

mysql查詢中的PHP語法錯誤

[英]PHP syntax error in mysql query

我正在嘗試執行的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_start(); 在調用$_SESSION['userz']; 變量。
  2. 您應該使用以下命令轉義$userdata$userdata = mysql_real_escape_string($_SESSION['userz']);
  3. 考慮為MySQL切換到PDO。

嘗試連接字符串,例如:

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM