我有非常具体的问题,我找不到问题。我尝试更新一些文本,我收到一个错误:
您的SQL语法有错误;检查与MySQL服务器版本对应的手册,以便在'=附近使用正确的语法 科孚岛的复活节被认为是格力在第1行的最辉煌的庆祝活动
我的代码:
$arr = explode("|", $id, 2);
$id = $arr[0];
$part = $arr[1]; // in which part of a splited paragraph currently we are
$row = mysql_fetch_array(mysql_query("SELECT * FROM paragraph WHERE id=$id")) or die(mysql_error());
$search = 'insertphotos'; // the string to search for
$string = $row['text_content']; // the string to search
$repetition = substr_count($string, $search); // how many insertphotos exist in paragraph
if ($repetition > $part){
if ($part > 1)
$offset = $part - 1; // how many times to search for word insertphotos
else
$offset = $part;
$start = strposOffset($search, $string, $offset) + 13; // find position of '$offset' occurance of search string
$offset++;
$end = strposOffset($search, $string, $offset) - $start - 1;
$string = substr_replace($string, $value, $start, $end);
}else if ($repetition == $part){
$offset = $part; // how many times to search for word insertphotos
$start = strposOffset($search, $string, $offset) + 13; // find position of '$offset' occurance of search string
$string = substr_replace($string, $value, $start, strlen($string));
}else
$string = "<p>".$value."</p>";
//$value = "<p>".$value."</p>";
mysql_query("UPDATE paragraph SET text_content=".$string." WHERE id='$id'") or die(mysql_error());
//mysql_query("INSERT INTO paragraph (header, text_content, menu_id, sequence) VALUES('<h2>Bella Vista Hotel h2 - Please Change Me</h2>', $string, '15', '2')") or die(mysql_error());
mysql_close($link);
//echo "INSERT PHOTOS REPEATS " .$repetition ." ID =".$id ." PART = ".$part ." WE SEARCH, START AT " .$start ." FINISH AT " .$end ." SEARCH FOR OFFSET = " .$offset ." FINAL STRING " .$string;
echo $string;
每个变量都有效,我试着回应,没有任何问题。如果文本中只有一个insertphotos(或零),则它可以工作。虽然我有不止一个,但我得到了这个错误。我不知道为什么?
答案 0 :(得分:3)
未引用您的文字字符串。
mysql_query("UPDATE paragraph SET text_content='".mysql_real_escape_string($string)."' WHERE id='$id'") or die(mysql_error());
您还应该转义输入:http://php.net/manual/en/function.mysql-real-escape-string.php
答案 1 :(得分:2)
插入的".$string."
周围没有引号。
此外,我看不到对mysql_real_string_escape()
的电话。为什么不呢?
答案 2 :(得分:1)
mysql_query("UPDATE paragraph SET text_content=".$string." WHERE id='$id'")
mysql_query("UPDATE paragraph SET text_content='".$string."' WHERE id='".$id"')
检查您的请求
答案 3 :(得分:0)
在将$string
放入查询之前,您需要将其转义。
$string
包含'
字符,会导致查询错误。