我的代碼看起來好像沒什麼問題這一點,但我不斷收到以下錯誤:
"Parse error: syntax error, unexpected $end in /home/txclanco/public_html/hotmuze/addSong.php on line 21"
這是一個腳本,在輸入需要從一種形式,檢查重複,如果有一個重複,它不會創建一個新行,但只需在'rating'行添加1,其中歌曲名是輸入的歌曲。如果沒有重複,腳本會將數據添加爲新行。這些數據類型是:
- ID = A_I/INT
- SONGNAME = VARCHAR
- 藝術家= VARCHAR
- 等級= INT
的腳本是下面空白的MySQL數據out:
<?
mysql_connect("localhost", "***", "***") or die(mysql_error());
mysql_select_db("***") or die(mysql_error());
$songname = $_POST['songname'];
$artist = $_POST['by'];
$ratenum = 1;
$chkquery = "SELECT * FROM hotmuze WHERE songname='$songname'";
$plusOneQuery = "SELECT * FROM hotmuze WHERE songname='$songname'";
$updateQuery = "UPDATE hotmuze SET rating='$rating2' WHERE songname='$songname'";
$checkdata = mysql_query($chkquery);
$checkrows = mysql_num_rows($checkdata);
if($checkrows==0)
{
$insquery = "INSERT INTO hotmuze (id, songname, artist, rating) VALUES('', '$songname', '$artist', '$ratenum'";
$insdata = mysql_query($insquery);
}
if($checkrows!=0)
{
$plusData = mysql_query($plusOneQuery);
}
if(mysql_num_rows($plusData)!=0)
{
$result = mysql_fetch_assoc($plusData);
$rating = $result['ratng'];
$rating2 = $rating + 1;
mysql_query($updateQuery);
echo "Data Inserted";
}
?>
第21行是:
if($checkrows!=0)
{
// The brace is on line 21
$plusData = mysql_query($plusOneQuery);
}
任何想法什麼可能是錯誤的腳本?我知道意外的$結束錯誤通常意味着有一個不恰當的地方,但這次,它很好?
除了當前的錯誤,您的'$ insquery'似乎被聲明爲在SQL結尾缺少一個括號。 – doppelgreener
在將它們放入查詢之前,您確實需要'mysql_real_escape_string'這些變量:-) – prodigitalson
您的代碼解析得很好。刪除MySQL憑據時是否刪除了語法錯誤? –