2015-09-21 33 views
-1

我想通過PHP更新我的MySQL表 - 它說成功,但實際上並沒有更新。這裏是我使用的PHP代碼的片段;通過PHP更新MySQL數據。說成功,但不是

我的表中的行的列表。

<?php 
$sql="SELECT * FROM $tbl"; 
$result=mysql_query($sql); 
while($rows=mysql_fetch_array($result)){ 
echo $rows['title']; 
echo $rows['date']; 
echo $rows['month']; 
?> 
<a href="update.php?id=<? echo $rows['id']; ?>">update</a> 

編輯論壇

<?php 
$id=$_GET['id']; 
$sql="SELECT * FROM $tbl WHERE id='$id'"; 
$result=mysql_query($sql); 
$rows=mysql_fetch_array($result); 
?> 
<form name="form" method="post" action="update.php"> 
<input name="title" type="text" id="title" value="<? echo $rows['title']; ?>"> 
<input name="date" type="text" id="date" value="<? echo $rows['date']; ?>" > 
<input name="month" type="text" id="month" value="<? echo $rows['month']; ?>"> 
<input name="id" type="hidden" id="id" value="<? echo $rows['id']; ?>"> 
<input type="submit" name="Submit" value="Submit"> 

表更新

<?php error_reporting(E_ALL); ini_set('display_errors', 1); //added to all pages 

$title = $_POST['title'] 
$date = $_POST['date'] 
$month = $_POST['month'] 
$id = $_POST['id'] 

$sql="UPDATE $tbl SET title='$title', date='$date', month='$month' WHERE id='$id'"; 
$result=mysql_query($sql); 
if (!$sql) { 
die(mysql_error()); 
} 
?> 

如果更新我的桌子直接運行SQL查詢在phpMyAdmin它工作完全正常的過程。但是當我通過PHP來完成時,它輸出成功,但實際上並沒有改變數據。我哪裏錯了? PS:我已經嘗試使用mysql_error());但沒有任何報告。

+1

定義了「$ tbl」在哪裏? – D4V1D

+0

它在每個頁面上都有我的連接信息。 '$ tbl =「events」;' – Shanie93

+0

*「它說成功了,但實際上並沒有更新」* - 這不是最好的方法。使用'mysql_affected_rows()'來表示正確性。 *「PS:我嘗試過使用mysql_error());但沒有任何回報。」* - 這不在您顯示的代碼中。 –

回答

1

您指定的$_POST變量後缺少分號(;):

$title = $_POST['title'] 
$date = $_POST['date'] 
$month = $_POST['month'] 
$id = $_POST['id'] 

添加;後每這些發言的權利,你要善於去。

相關問題