Кажется, есть ошибка синтаксического анализа с моим кодом mysql и php, некоторые могут помочь мне очистить этот код.
$tag = mysql_real_escape_string($_POST['tag']); $query = 'UPDATE tags SET count = count+1 WHERE tag = '.$tag; mysql_query($query,$dbc); if( !mysql_affected_rows() ) { $query = 'INSERT INTO tags (tag,count) VALUES('.$tag.',1)'; if (mysql_query($query,$dbc)); { die('Error: ' . mysql_error()); } echo "1 record added"; mysql_close($dbc)
Некоторые проблемы: Отсутствует }, ; после , если, отсутствует ;, умирает от успеха (второй запрос), $тег не в кавычках:
$tag = mysql_real_escape_string($_POST['tag']);
$query = "UPDATE tags SET count = count+1 WHERE tag = '".$tag."'";
mysql_query($query,$dbc);
if( !mysql_affected_rows() ) {
$query = "INSERT INTO tags (tag,count) VALUES('".$tag."',1)";
if ( !mysql_query($query,$dbc) )
{
die('Error: ' . mysql_error());
}
echo "1 record added";
}
mysql_close($dbc);
Похоже на это, по крайней мере , если $dbc является допустимым соединением...
На самом деле проблема с вашими одиночными кавычками script не закончилась должным образом.
Здесь скорректированный код
<?php
$tag = mysql_real_escape_string($_POST['tag']);
$query = "UPDATE tags SET count = count+1 WHERE tag = '".$tag."'";
mysql_query($query,$dbc);
if( !mysql_affected_rows() ) {
$query = "INSERT INTO tags (tag,count) VALUES('".$tag.",1)";
if (mysql_query($query,$dbc))
{
die('Error: ' . mysql_error());
}
echo "1 record added";
mysql_close($dbc)
?>
$tag = mysql_real_escape_string($_POST['tag']);
$query = 'UPDATE tags SET count = count+1 WHERE tag = "'.$tag.'"';
mysql_query($query,$dbc);
if( !mysql_affected_rows() ) {
$query = 'INSERT INTO tags (tag,count) VALUES("'.$tag.'",1)';
if (!mysql_query($query,$dbc))
{
die('Error: ' . mysql_error());
}
echo "1 record added";
}
mysql_close($dbc);
Отсутствие точки с запятой в последней строке
PS: Предоставление нам ошибки синтаксического анализа упрощает поиск ответа.