我不能爲我的生活找出爲什麼下面不會更新記錄。它給了我一個成功的消息,但並沒有實際更新記錄。我已經完成了大量的修訂,並嘗試了所有我能想到的。其他人能看到問題在哪裏嗎?記錄不會用PHP更新MySQL
<?php
$id = $_POST['id'];
$username = $_POST['username'];
$fname = $_POST['fname'];
$lname = $_POST['lname'];
$email = $_POST['email'];
$company = $_POST['company'];
$rep1 = $_POST['rep1'];
$rep2 = $_POST['rep2'];
$rep3 = $_POST['rep3'];
$phone = $_POST['phone'];
$fax = $_POST['fax'];
$cell = $_POST['cell'];
$service = $_POST['service'];
$license = $_POST['license'];
$expdate = $_POST['expdate'];
$active = $_POST['active'];
$userlevel = $_POST['userlevel'];
$host="XXXXXXX"; // Host name
$username="XXXXXX"; // Mysql username
$password="XXXXXXX"; // Mysql password
$db_name="XXXXXXX"; // Database name
$tbl_name="users"; // Table name
// Connect to server and select database.
$con = mysqli_connect("$host", "$username", "$password","$db_name")or die("cannot connect");
// update data in mysql database
$sql="UPDATE $tbl_name SET id='".$id."', fname='".$fname."', lname='".$lname."', email='".$email."', company='".$company."', rep1='".$rep1."', rep2='".$rep2."', rep3='".$rep3."', phone='".$phone."', fax='".$fax."', cell='".$cell."', service='".$service."', license='".$license."', expdate='".$expdate."', active='".$active."', userlevel='".$userlevel."'".
"WHERE id = '".$id."'";
$result=mysqli_query($con,$sql);
// if successfully updated.
if($result){
$emailID = "[email protected]";
$subject = "Registration notification from. $fname . through website";
$body = <<<EOD
<table cellspacing="0" cellpadding="1" border="1">
<tbody>
<tr>
<td style="padding: 5px 10px;" width="150">Name: </td>
<td style="padding: 5px 10px;">$fname $lname</td>
</tr>
<tr>
<td style="padding: 5px 10px;" width="150">Mobile: </td>
<td style="padding: 5px 10px;">$cell</td>
</tr>
<tr>
<td style="padding: 5px 10px;" width="150">Email: </td>
<td style="padding: 5px 10px;">$email</td>
</tr>
<tr>
<td style="padding: 5px 10px;" width="150">License Number: </td>
<td style="padding: 5px 10px;">$license</td>
</tr>
</tbody>
</table>
EOD;
$headers = "From: [email protected]\r\n";
$headers .= "MIME-Version: 1.0\r\n";
$headers .= "Content-Type: text/html; charset=\"iso-8859-1\"\n";
$headers .= "X-Priority: 1\r\n";
$headers .= "X-MSMail-Priority: High\n";
$headers .= "X-Mailer: PHP". phpversion() ."\r\n";
mail($emailID, $subject, $body, $headers);
echo "<h4>Thank you for updating your account info. We will authorize your account and notify you once we have verified your license number and expiration.</h4>";
}
else {
echo "ERROR";
}
?>
爲什麼你會更新'id'?此外,您的代碼易受SQL注入攻擊。 – 2014-09-03 19:24:41
當您可以獲知有關問題的實際情況時,從不輸出固定(和USELESS)錯誤消息,如「錯誤」。 'echo mysqli_error($ con)'會爲你節省很多時間。 – 2014-09-03 19:36:47