我是一位新手php程序員。我有這樣的actionfrm.php,它運行時,我得到這個消息:我的PHP更新代碼沒有寫入數據庫
UPDATE personal
SET membername='test this',
sponsorid='102',
dateofjoining='2012-07-23',
address='13432 main',
city='pomona',
state='CA',
country='USA',
mobileno='8187321592',
countrycode='1',
dateofbirth='1988/05/03',
emailid='[email protected]'
WHERE membername='test this'
update query succeeded
然而,這不是寫入數據庫。我把這個代碼放到phpmyadmin中,並得到這個msg:0行受到影響。
下面是代碼:
<?php include('dbconnect.php'); ?>
<?php
$membername=$_POST['membername'];
if(isset($_POST['username']) and $_POST['username']!=""){
$sponsorid=$_SESSION['memberid_for_sp'];
}else{
$sponsorid=0;
}
$dateofjoining=date("Y-m-d");;
$address=$_POST['address'];
$city=$_POST['city'];
$state=$_POST['state'];
$country=$_POST['country'];
$mobileno=$_POST['mobileno'];
$countrycode=$_POST['countrycode'];
$dateofbirth=$_POST['dateofbirth'];
$emailid=$_POST['emailid'];
$myid=$_SESSION['memberid'];
$query = "UPDATE personal SET membername='$membername',
sponsorid='$sponsorid',
dateofjoining='$dateofjoining',
address='$address',
city='$city',
state='$state',
country='$country',
mobileno='$mobileno',
countrycode='$countrycode',
dateofbirth='$dateofbirth', emailid='$emailid' WHERE membername='$membername'";
echo $query;
$checkresult = mysql_query($query);
if ($checkresult) echo 'update query succeeded';
else echo 'update query failed';
mysql_close();
//return $frmdetail.php;
?>
請幫幫忙,我真的需要這種修正...我有這個頭疼的問題。
歡迎來到Stack Overflow!請不要將'mysql_ *'函數用於新代碼。他們不再被維護,社區已經開始[棄用流程](http://goo.gl/KJveJ)。請參閱[**紅框**](http://goo.gl/GPmFd)?相反,您應該瞭解[準備好的語句](http://goo.gl/vn8zQ)並使用[PDO](http://php.net/pdo)或[MySQLi](http://php.net/ mysqli的)。如果你不能決定,[本文](http://goo.gl/3gqF9)將有助於選擇。如果你關心學習,[這裏是很好的PDO教程](http://goo.gl/vFWnC)。 – ManseUK 2012-07-23 09:32:13
你有沒有檢查你是否真的有這個名字的成員? 'WHERE membername ='$ membername''? – Peon 2012-07-23 09:32:57
您是否有membername ='test this'的現有行?如果沒有,MySQL沒有對應的行進行更新。 – uzyn 2012-07-23 09:33:30