2015-01-13 44 views
-1

那麼我應該怎麼做代碼?PHP如何循環我從html表單獲得的數據並將它們保存到mysql數據庫中?

比方說,我的形式是:

<form action="check.php" method="POST"> 
<textarea name="ans[0]"> </textarea> 
<textarea name="ans[1]"> </textarea> 
<textarea name="ans[2]"> </textarea> 
<textarea name="ans[3]"> </textarea> 
<input type="submit" /> 

的check.php:

<?php 
include('mysql.php'); // in this file i get connected to my db 
foreach($ans as $index) 
{ 
    //I want to make this to do that: 
    mysql_query("UPDATE mytable SET $ans = '$ans[1]' WHERE user = 'Me'"); // How do I make that to update $ans[0] for first loop scan, than in next loop scan $ans[1] then $ans[2] and so on... 
} 
?> 

是的,我對這些東西洙初學者,而且不知道如何代碼應該工作。感謝您的回答。

+0

使用$ _POST ['ans']來訪問您發佈的變量。但更重要的是,重寫SQL,因爲它使用了不推薦的mysql_ *函數,並且對SQL注入開放。 – Xatoo

回答

3

首先,你不必索引設置爲您的文字區域:

<textarea name="ans[]"> </textarea> 

避免mysql_驅動程序連接到數據庫。請改用PDO。

PHP側

if(isset($_POST['ans']) AND is_array($_POST['ans'])){ 
    $ans = $_POST['ans']; 
    foreach($ans as $content){ 
     //your query 
     $db->query("UPDATE table ......"); 
    } 
} 
+0

它實際上更多關於準備好的陳述,但仍然。 – potashin

+1

當然,是的,我寫了'查詢',但這是因爲我不打算寫SQL查詢。 – Spoke44

0

我覺得這個代碼可以幫助你。

<form action="check.php" method="POST"> 
    <textarea name="ans[0]"> </textarea> 
    <textarea name="ans[1]"> </textarea> 
    <textarea name="ans[2]"> </textarea> 
    <textarea name="ans[3]"> </textarea> 
    <input type="submit" /> 
</form> 
<?php 
    $ans = (array) (isset($_POST['ans']) ? $_POST['ans'] : null); 

    foreach($ans as $index=>$value) 
    { 
     $query = "UPDATE mytable SET `$index` = '$value' WHERE user = 'Me'"; 
    } 

使用PDO,而不是MySQL的PHP​​庫。 =>https://stackoverflow.com/a/1402096/1016229

相關問題