Mysql
 sql >> डेटाबेस >  >> RDS >> Mysql

PHP का उपयोग करके डेटाबेस में एकाधिक सरणी कैसे सम्मिलित करें

मैंने आपके कोड को काम करने के लिए संशोधित किया है:

form.php

<form method="POST" action="form.php">
<input type="text" name="waw" />
<input type="submit" />
</form>

<form method="POST" action="input.php">
<?php 
$i=0;

while ($i<$_GET['waw'])
{
?>

<!-- Person #1 -->

<input type="text" name="username[]" />

<input type="text" name="phonenum[]" />

<input type="text" name="add[]" /><br />


<?php 
$i++;
}
?>
<input type="submit" />
</form>

input.php

<?php


$username="maizakath";
$password="12345";
$database="tryinsert";
mysql_connect('localhost',$username,$password);
@mysql_select_db($database) or die("<b>Unable to specified database</b>");



$sql_start = 'INSERT INTO `mytable` VALUES '; 
$sql_array = array(); 
$queue_num = $_POST['waw']; 
foreach ($_POST['username'] as $row=>$name)
{
$username = $name;
$phonenum = $_POST['phonenum'][$row];
$add = $_POST['add'][$row];
$sql_array[] = '("' . $username . '", "'.$phonenum.'", "'.$add.'")'; 
if (count($sql_array) >= $queue_num) {
  $query_single=$sql_start . implode(', ', $sql_array);
  mysql_query($query_single); 
  $sql_array = array(); 
}
}

if (count($sql_array) > 0)  {
  $query = $sql_start . implode(', ', $sql_array);
  mysql_query($query)or die(mysql_error());
}

?>

यह बढ़िया काम करता है। मैंने अभी-अभी अपनी स्थानीय मशीन पर इसका परीक्षण किया है।

संपादित करें (टिप्पणियां) :

  1. input.php में वेरिएबल $queue_num का उपयोग करना बेमानी है, क्योंकि यह वेरिएबल केवल फॉर्म.php स्क्रिप्ट में उपलब्ध है ('वाह' इनपुट दूसरे फॉर्म में रखा गया है, जो फॉर्म.php फाइल करने के लिए सबमिट किया जाता है, इनपुट नहीं।php)। तो if (count($sql_array) >= $queue_num) ब्लॉक गलत काम करता है;

  2. डेटाबेस कनेक्शन के लिए अपनी कॉन्फ़िगरेशन सेटिंग्स जांचें (जैसा कि मैंने टिप्पणी में लिखा है, आपको 'लोकलहोस्ट' नाम से निरंतर परिभाषित करना होगा या उद्धरण के साथ स्थानीयहोस्ट शब्द संलग्न करना होगा);

  3. मैंने आपके फॉर्म को संशोधित किया है, क्योंकि इसकी संरचना गलत थी;

  4. मुझे form.php में पहला फॉर्म बनाने का उद्देश्य समझ में नहीं आया।

आप इस कोड को अपने मामले के लिए अधिक उपयुक्त बनाने के लिए संशोधित कर सकते हैं। लेकिन सबसे पहले इसे इस्तेमाल करने की कोशिश करें।

नोट. var_dump() का उपयोग करें डिबगिंग के दौरान अपने $_POST सरणी को देखने के लिए कार्य करें, यह समझने के लिए कि कौन से चर उपलब्ध हैं।



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. mysql group_concat अंदर एक गिनती के साथ?

  2. MySQL में वैकल्पिक तालिका:मित्र या शत्रु?

  3. कौन सा तेज़ है - INSTR या LIKE?

  4. MySQL डेटाबेस कनेक्शन बंद नहीं हुआ:क्या होगा?

  5. MySql डेटाबेस से VBA स्क्रिप्ट पढ़ने में समस्या