簡體   English   中英

這個MySQL查詢的PHP語法錯誤

[英]PHP syntax error with this MySQL query

MySQL聲稱我的查詢中有語法錯誤,但我似乎無法完全修復它。 有任何想法嗎?

該錯誤指出: “您的SQL語法中有錯誤;請查看與您的MySQL服務器版本對應的手冊,以便在'..'','0',''..'附近使用正確的語法,'.. '','','','','','','')'在第2行“

這條線在這里:

$savequery = "INSERT INTO search (title, description, url, keywords, type, mod_url, developer, v162, v164, v172)
            VALUES ('$name', '$desc', '$url', '$keywords', '$type', '$link', '$dev', '$v162', '$v164', '$v172')";

此外,這是該查詢的“運行或死亡”變量:

$save = $dbsave->query($savequery) or die(mysqli_error($dbsave));

更新:

因為已經要求,這是我的變量衛生:

$name = mysql_real_escape_string($name);
$desc = mysql_real_escape_string($desc);
$url = mysql_real_escape_string($url);
$keywords = mysql_real_escape_string($keywords);
$type = mysql_real_escape_string($type);
$link = mysql_real_escape_string($link);
$dev = mysql_real_escape_string($dev);
$v162 = mysql_real_escape_string($v162);
$v162 = mysql_real_escape_string($v164);
$v162 = mysql_real_escape_string($v172);
$id = mysqli_real_escape_string($id);

你應該使用$mysqli->real_escape_string($varHere); 在每個變量上。 我會用一個循環:

$vars = array($name, $desc, $url, $keywords, $type, $link, $dev, $v162, $v164, $v172);
foreach($vars as $v){
  $qA[] = $mysqli->real_escape_string($v); // Object Oriented Style
}
$savequery = "INSERT INTO search (title, description, url, keywords, type, mod_url, developer, v162, v164, v172) VALUES ('$qA[0]', '$qA[1]', '$qA[2]', '$qA[3]', '$qA[4]', '$qA[5]', '$qA[6]', '$qA[7]', '$qA[8]', '$qA[9]')";

如果您不喜歡這些Array變量,那么您可以使用list()

暫無
暫無

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

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