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

HTML और PHPMySQL, टेक्स्ट क्षेत्र से तालिका में कई डेटा डालें

कुछ परिवर्तन जो पर्याप्त होने चाहिए:

  • जैसा कि रिग्सफॉली ने उल्लेख किया है, textarea फ़ॉर्म में ले जाया जाना चाहिए
  • मैं फॉर्म सबमिट विधि POST . कर दूंगा इसके बजाय प्राप्त करें . इस तरह डेटा यूआरएल में नहीं जोड़ा जाएगा (यानी क्वेरी स्ट्रिंग में)।

    <form method="post" id="testformid">

  • नई पंक्ति वर्ण को परिसीमित करें (अर्थात \n ) दोहरे उद्धरण चिह्नों का उपयोग करना:उदा। $lines = explode("\n",$_POST['taname']);

  • mysqli फ़ंक्शन का उपयोग करें (उदा. mysqli_connect() , mysqli_prepare() , mysqli_bind_param() और mysqli_execute() ) या पीडीओ फ़ंक्शन डेटाबेस में डेटा डालने के लिए

संपादित करें:

mysqli_bind_param() पर कॉल करें एक बार प्रति पैरामीटर के बजाय, सभी पैरामीटर के साथ एक बार कॉल किया जाना चाहिए। पैरामीटरों की अलग-अलग संख्या के साथ ऐसा करने के लिए, हमें यह लेख

    <?php
    $lines = array();
    $output = '';
    if(array_key_exists('taname',$_POST) && $_POST['taname']) {
        $lines = explode("\n",$_POST['taname']);

        //define $host, $username, $pw, $databaseName before this
        //$host = 'localhost';...etc...
        $connection = mysqli_connect($host,$username, $pw, $databaseName);
        if ($connection) {
            $paramHolders = array_map(function() { return '?';},$lines);

            //update tablename, column name accordingly 
            $insertQuery = 'INSERT INTO tableName (columnName) VALUES ('.implode('), (',$paramHolders).')';
            $statement = mysqli_prepare($connection,$insertQuery);
            //this will be used as the first param to mysql_stmt_bind_param
            // e.g. 'ssss' - one 's' for each line
            $types = str_repeat('s',count($lines));
            $params = array($statement,&$types);
            //add each line by-reference to the list of parameters
            foreach($lines as $index=>$line) {
                $output .= '<div>inserted line: '.$line.'</div>';
                $params[] = &$lines[$index];
            }
            //call mysql_bind_param() with the varying number of arguments
            call_user_func_array('mysqli_stmt_bind_param',$params);
            $statement->execute();
        }
    }
    ?>
    <html>
        <body>
            <form method="post" id="testformid">
                <textarea name="taname" id="taid" cols="35" wrap="soft"></textarea>
                <input type="submit"/>
            </form>
            <? echo $output; ?>
        </body>
    </html>



  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 में सही/गलत बनाम 0/1

  2. इस त्रुटि को कैसे ठीक करें mysql_fetch_assoc () पैरामीटर 1 को संसाधन, बूलियन में दिए जाने की अपेक्षा करता है?

  3. MySQL में कर्सर का उपयोग करते समय DECLARE कथन से संग्रहीत कार्यविधि को कॉल करें

  4. एनम ('हां', 'नहीं') बनाम टिनींट - किसका उपयोग करना है?

  5. नामित प्रश्नों में हाइबरनेट त्रुटियां