2012-10-08 48 views
0

我想在這裏做一些非常簡單的事情。我想要做的就是更新MySQL中的信息。 下面是表單的代碼。使用表格更新MySQL我的代碼不起作用

<?php 
$host=""; // Host name 
$username=""; // Mysql username 
$password=""; // Mysql password 
$db_name=""; // Database name 
$tbl_name=""; // Table name 

// Connect to server and select database. 
mysql_connect("$host", "$username", "$password")or die("cannot connect"); 
mysql_select_db("$db_name")or die("cannot select DB"); 

// get value of id that sent from address bar 
$dj=$_GET['dj']; 

// Retrieve data from database 
$sql="SELECT * FROM $tbl_name WHERE dj='$dj'"; 
$result=mysql_query($sql); 
$rows=mysql_fetch_array($result); 
?> 

<table width="400" border="0" cellspacing="1" cellpadding="0"> 
<tr> 
<form name="form1" method="post" action="update_ac.php"> 
<td> 
<table width="100%" border="0" cellspacing="1" cellpadding="0"> 
<tr> 
<td>&nbsp;</td> 
<td colspan="3"><strong>Update The information for the Now PlayingProgram.</strong> 
</td> 
</tr> 
<tr> 
<td align="center">&nbsp;</td> 
<td align="center">&nbsp;</td> 
<td align="center">&nbsp;</td> 
<td align="center">&nbsp;</td> 
</tr> 
<tr> 
<td align="center">&nbsp;</td> 
<td align="center"><strong>Name</strong></td> 
<td align="center"><strong>Email</strong></td> 
<td align="center"><strong>Email2</strong></td> 
</tr> 
<tr> 
<td>&nbsp;</td> 
<td align="center"> 
<input name="name" type="text" id="name" value="<?php echo $rows['name']; ?>"> 
</td> 
<td align="center"> 
<input name="email" type="text" id="email" value="<?php echo $rows['email']; ?>" size="15"> 
</td> 
<td> 
<input name="email2" type="text" id="email2" value="<?php echo $rows['email2']; ?>" size="15"> 
</td> 
</tr> 
<tr> 
<td align="center">&nbsp;</td> 
<td align="center"><strong>Twitter</strong></td> 
<td align="center"><strong>Twitter2</strong></td> 
<td align="center"><strong>Avatar</strong></td> 
</tr> 
<tr> 
<td>&nbsp;</td> 
<td align="center"> 
<input name="twitter" type="text" id="twitter" value="<?php echo $rows['twitter']; ?>"> 
</td> 
<td align="center"> 
<input name="twitter2" type="text" id="twitter2" value="<?php echo $rows['twitter2']; ?>" size="15"> 
</td> 
<td> 
<input name="avatar" type="text" id="avatar" value="<?php echo $rows['avatar']; ?>" size="15"> 
</td> 
</tr> 
<tr> 
<td align="center">&nbsp;</td> 
<td align="center"><strong>Facebook</strong></td> 
<td align="center"><strong>Facebook2</strong></td> 
<td align="center"><strong>Type</strong></td> 
</tr> 
<tr> 
<td>&nbsp;</td> 
<td align="center"> 
<input name="facebook" type="text" id="facebook" value="<?php echo $rows['facebook']; ?>"> 
</td> 
<td align="center"> 
<input name="facebook2" type="text" id="facebook2" value="<?php echo $rows['facebook2']; ?>" size="15"> 
</td> 
<td> 
<input name="type" type="text" id="type" value="<?php echo $rows['type']; ?>" size="15"> 
</td> 
</tr> 
<tr> 
<td align="center">&nbsp;</td> 
<td align="center"><strong>Alias1</strong></td> 
<td align="center"><strong>Alias2</strong></td> 
<td align="center"><strong>Alias3</strong></td> 
</tr> 
<tr> 
<td>&nbsp;</td> 
<td align="center"> 
<input name="alias1" type="text" id="alias1" value="<?php echo $rows['alias1']; ?>"> 
</td> 
<td align="center"> 
<input name="alias2" type="text" id="alias2" value="<?php echo $rows['alias2']; ?>" size="15"> 
</td> 
<td> 
<input name="alias3" type="text" id="alias3" value="<?php echo $rows['alias3']; ?>" size="15"> 
</td> 
</tr> 

<tr> 
<td align="center">&nbsp;</td> 
<td colspan="3" align="center"><strong>Request Line</strong></td> 
</tr> 
<tr> 
<td>&nbsp;</td> 
<td colspan="3" align="center"> 
<input name="address" type="text" id="address" value="<?php echo $rows['address']; ?>" size="65"> 
</td> 
</tr> 
<tr> 
<td>&nbsp;</td> 
<td> 
<input name="dj" type="hidden" id="dj" value="<?php echo $rows['dj']; ?>"> 
</td> 
<td align="center"> 
<input type="submit" name="Submit" value="Submit"> 
</td> 
<td>&nbsp;</td> 
</tr> 
</table> 
</td> 
</form> 
</tr> 
</table> 
    <?php 
// close connection 
mysql_close(); 
?> 

現在我希望能夠做的是編輯當前的形式顯示數據庫中的信息。 (表單正在顯示來自mysql的正確信息) 如果我想改變讓我們說的電子郵件2我只是在現場這樣做,然後點擊提交。那麼我的問題是,當我這樣做時,我得到的只是錯誤。

所以,讓我們來看看我的update_ac.php 代碼如下:

<?php 
$host="localhost"; // Host name 
$username=""; // Mysql username 
$password=""; // Mysql password 
$db_name=""; // Database name 
$tbl_name=""; // Table name 

// Connect to server and select database. 
mysql_connect("$host", "$username", "$password")or die("cannot connect"); 
mysql_select_db("$db_name")or die("cannot select DB"); 

// Connect to server and select database. 
mysql_connect("$host", "$username", "$password")or die("cannot connect"); 
mysql_select_db("$db_name")or die("cannot select DB"); 

// update data in mysql database 
$sql="UPDATE currentdj SET name='$name', 
         email='$email', 
         email2='$email2',       
         twitter='$twitter', 
         twitter2='$twitter2', 
         avatar='$avatar',       
         facebook='$facebook', 
         facebook2='$facebook2', 
         type='$type', 
         alias1='$alias1', 
         alias2='$alias2', 
         alias3='$alias3', 
         address='$address'       
         WHERE dj='$dj'"; 
$result=mysql_query($sql); 

// if successfully updated. 
if($result){ 
echo "Successful"; 
echo "<BR>"; 
echo "<a href='list_records.php'>View result</a>"; 
} 

else { 
echo "ERROR"; 
} 

?> 

我想知道如果我只是有一個語法,甚至這裏的拼寫問題! 任何幫助,將不勝感激。

謝謝!

+0

你得到了什麼錯誤? –

+0

所有的i得到的是簡單的錯誤,因爲這就是: 其他{ 回聲「ERROR」; } 在我update_ac.php – Feek

+0

結束時,你忘了關'電子郵件='$ email'用單引號 –

回答

0

在你update_ac.php文件,您尚未使用$_POST[]變量從表單中檢索值。結果沒有值被插入到數據庫中,從而導致錯誤。

將這個代碼,你有$ SQL =「更新的更新查詢語句之前.....

$email=$_POST['email']; 
$email2=$_POST['email2'];       
$twitter=$_POST['twitter']; 

等等...

+0

我應該在哪裏放置$ _POST []在我的代碼中? – Feek

+0

謝謝!!!!!! – Feek

+0

歡迎...很高興它解決了.. –

2

UPDATE查詢單引號沒有關閉emailemail='$email,

"UPDATE currentdj SET name='$name', 
         email='$email', //Add THE MISSING SINGLE QUOTE HERE 
         email2='$email2', 
0

試試這個代碼,之前在那裏,address='$address', WHERE dj='$dj'";)不應該來

$sql="UPDATE currentdj SET name='$name', 
         email='$email', 
         email2='$email2',       
         twitter='$twitter', 
         twitter2='$twitter2', 
         avatar='$avatar',       
         facebook='$facebook', 
         facebook2='$facebook2', 
         type='$type', 
         alias1='$alias1', 
         alias2='$alias2', 
         alias3='$alias3', 
         address='$address'       
         WHERE dj='$dj'"; 
+0

你!這是問題。最後一個項目不應該有一個, – Feek

+0

好吧,我現在更長時間得到錯誤,但現在有什麼奇怪的是信息不在mysql中更新 – Feek

+0

嘗試回顯您的查詢,看看你正在得到什麼? –