菜鳥求助 怎麼在其他欄位不變的情況下修改某個欄位內容,我現在想修改'部門責任人審核:'這個欄位裡面的內容,但一直寫不進去
while($row = mysql_fetch_assoc($query))
{
echo '日期:'.$row[time].' ';
echo '部門:'.$row[bumen].' ';
echo '姓名:'.$row[name].' ';
echo ' 職務:'.$row[zhiwu].'
';
echo '未打卡時間:'.$row[wdktime].'
';
echo '未打卡原因:'.$row[wdkyy].'
';
echo '部門責任人審核:'.$row[bmshtime].' ';
echo '人事行政部/總經理審批:'.$row[rsshtime].'
';
echo '';
echo '
';
}
echo '';
mysql_query('UPDATE wdksm SET
bmshtime = \'' . $_POST['test'] . '\'
WHERE time = \'' .$row[id] . '\'
');
?>
回複討論(解決方案)
這個出了什麼問題???
注意列名稱前面可以試試加 `
time = \'' .$row[id] 確定?不是 time = \'' .$row[time] ?
n處錯誤.
修改後的代碼如下:
$con=mysqli_connect('localhost','資料庫使用者名稱','資料庫密碼','資料庫名');$re=mysqli_query($con,'SELECT * FROM wdksm');while($row = mysqli_fetch_assoc($re)){$id=$row['id']; echo '日期:'.$row['time'].' ';echo '部門:'.$row['bumen'].' ';echo '姓名:'.$row["name"].' ';echo ' 職務:'.$row["zhiwu"].'
';echo '未打卡時間:'.$row["wdktime"].'
';echo '未打卡原因:'.$row["wdkyy"].'
';echo '部門責任人審核:'.$row["bmshtime"].' ';echo '人事行政部/總經理審批:'.$row["rsshtime"].'
';echo '
'; }echo '';$sql='UPDATE wdksm SET bmshtime = \'' . $_POST['test'] . '\'WHERE id = \'' .$id . '\' ';mysqli_query($con,$sql);
把 '資料庫使用者名稱','資料庫密碼','資料庫名' 這三項補上就行了.其他沒什麼問題
如果你想要mysql串連方式的話,可使用如下對你的原始碼進行分析過後的代碼:
$query = mysql_query('SELECT * FROM wdksm ');while($row = mysql_fetch_assoc($query)){$id=$row['id']; //要修改的id號沒有被取得,應該在此處擷取echo '日期:'.$row["time"].' ';echo '部門:'.$row["bumen"].' ';echo '姓名:'.$row["name"].' ';echo ' 職務:'.$row["zhiwu"].'
';echo '未打卡時間:'.$row["wdktime"].'
';echo '未打卡原因:'.$row["wdkyy"].'
';echo '部門責任人審核:'.$row["bmshtime"].' ';echo '人事行政部/總經理審批:'.$row["rsshtime"].'
';//echo ''; //提交按鈕放置在表單外,導致表單無法提交echo '
'; }echo '';/*mysql_query('UPDATE wdksm SET bmshtime = \'' . $_POST['test'] . '\'WHERE time = \'' .$row[id] . '\' //嚴重錯誤的sql語句 ');*///正確的sql語句$sql='UPDATE wdksm SET bmshtime = \'' . $_POST['test'] . '\'WHERE id = \'' .$id . '\' ';mysql_query($sql);
執行的結果是成功修改'部門責任人審核'.
主要是sql語句的問題,單引號,雙引號一定要區分好,還有就是資料庫中的欄位的類型,有的需要加引號的不能少
可以使用了,謝謝了。