2014-04-21 22 views
-1
更新日期

我的代碼看起來像這樣如何在mysql中

<?php 
$con = mysql_connect("localhost","root",""); 
if (!$con) 
{ 
die('Could not connect: ' . mysql_error()); 
} 
mysql_select_db("library", $con); 

$colid = $_POST['data']; 
$count = count($colid); 
$curdate = date('Y-m-d'); 
for($i=0;$i<$count;$i++){ 

$tsql ="UPDATE transaction 
     set return=$curdate 
     status='1' 
     WHERE tid = $colid[$i] "; 

$tresult = mysql_query($tsql); 
} 
if(! $tresult) 
{ 
die('Could not enter data: ' . mysql_error()); 
} 
echo "Deleted book successfully\n"; 
mysql_close($con); 

?> 

和我得到這個錯誤

Could not enter data: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'return=2014-04-21 status='1' WHERE tid = 1' at line 2 

我的要求是,當過我得到了點擊一個按鈕,我需要執行該代碼

我也試過使用CURDATE()功能得到相同的錯誤

y的幫助,將不勝感激

+0

停止指出:// php.net/manual/en/mysqlinfo.api.choosing.php –

+0

我也寧願引用日期字符串,所以設置'\'返回\'=「$ curdate」' – flaschenpost

回答

3

Return是你需要用反單引號把它包一個mysql保留關鍵字,並且還缺少comma狀態之前用mysql HTTPS @user3414693

UPDATE transaction 
     set `return`=CURDATE(), 
     status='1' 
     WHERE tid = $colid[$i] 
+0

PHP還需要將日期數據包含在單引號中。現在可以使用無日期的mysql函數等。 –

+1

添加了逗號詞,因爲它已丟失! –

+1

@Ahhik什麼?這是sql,而不是php –

3

你錯過了comma ,在你的更新。還嘗試將return換成back ticks,因爲它是MYSQL中的保留關鍵字。試試這個: -

UPDATE transaction 
    set `return`=$curdate, <-- here 
    status='1' 
    WHERE tid = $colid[$i] " 
+2

@ user3414693我已將投票等級+1 –