大佬教程收集整理的这篇文章主要介绍了PHP PDO使用循环插入,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
这是我创建的原始函数:
<? function addToDatabase () { //Get All Variables $timestamp = date("Y-m-d H:i:s"); $schoolName = $_SESSION['schoolName']; $schoolStreet = $_SESSION['schoolStreet']; $schoolCity = $_SESSION['schoolCity']; $schoolState = $_SESSION['schoolState']; $schoolZip = $_SESSION['schoolZip']; $schoolContactName = $_SESSION['schoolContactName']; $schoolContacttitle = $_SESSION['schoolContacttitle']; $schoolContactPhone = $_SESSION['schoolContactPhone']; $schoolCsontactEmail = $_SESSION['schoolContactEmail']; $inputMethod = $_SESSION['inputMethod']; $studentDataArray = $_SESSION['studentDataArray']; $studentFirstNameField = $_SESSION['studentFirstNameField']; $studentLastNameField = $_SESSION['studentLastNameField']; $studentStreetField = $_SESSION['studentStreetField']; $studentCityField = $_SESSION['studentCityField']; $studentStateField = $_SESSION['studentStateField']; $studentZipcodeField = $_SESSION['studentZipcodeField']; $studentDOBField = $_SESSION['studentDOBField']; $studentgenderField = $_SESSION['studentgenderField']; $studentGradeField = $_SESSION['studentGradeField']; //Connnect to Database $host = 'myHost'; $un = 'myUsername'; $pw = 'mypassword'; $db_name = 'myTable'; try { $conn = new PDO("mysql:host=$host;dbname=$dbName",$un,$pw); echo 'Connected to database<br>'; $sql = "INSERT INTO studentData (originallyAddedOn,inputMethod,studentFirst,studentLast,studentStreet,studentCity,studentState,studentZip,studentDOB,studentgender,studentGrade,schoolName,schoolStreet,schoolCity,schoolState,schoolZip,schoolContactName,schoolContacttitle,schoolContactEmail,schoolContactPhonE) VALUES (:originallyAddedOn,:inputMethod,:studentFirst,:studentLast,:studentStreet,:studentCity,:studentState,:studentZip,:studentDOB,:studentgender,:studentGrade,:schoolName,:schoolStreet,:schoolCity,:schoolState,:schoolZip,:schoolContactName,:schoolContacttitle,:schoolContactEmail,:schoolContactPhonE)"; foreach ($studentDataArray as $student){ $q = $conn->prepare($sql); echo $student[$studentFirstNameField]."<br>"; $q->execute(array( ':originallyAddedOn'=>$timestamp,':inputMethod'=>$inputMethod,':studentFirst'=>$student[$studentFirstNameField],':studentLast'=>$student[$studentLastNameField],':studentStreet'=>$student[$studentStreetField],':studentCity'=>$student[$studentCityField],':studentState'=>$student[$studentStateField],':studentZip'=>$student[$studentZipField],':studentDOB'=>$student[$studentDOBField],':studentgender'=>$student[$studentgenderField],':studentGrade'=>$student[$studentGradeField],':schoolName'=>$schoolName,':schoolStreet'=>$schoolStreet,':schoolCity'=>$schoolCity,':schoolState'=>$schoolState,':schoolZip'=>$schoolZip,':schoolContactName'=>$schoolContactName,':schoolContacttitle'=>$schoolContacttitle,':schoolContactEmail'=>$schoolContactEmail,':schoolContactPhone'=>$schoolContactPhonE)); } // close the database connection $dbh = null; } catch(PDOException $E) { echo $e->getmessage(); } }
$studentDataArray看起来类似于:
0 => //student 1 array [0] => 'Joe' //First [1] => 'Smith' //Last [2] => '101 Main St' //Street [3] => 'Boston' //City [4] => 'MA' //State [5] => '01234' //Zip [6] => '2000-01-01' //Date of Birth [7] => 'Male' //gender [8] => '12' //Grade 1 => //student 2 array [0] => 'Jane' [1] => 'Smith' [2] => '99 Main St' [3] => 'Boston' [4] => 'MA' [5] => '01234' [6] => '2000-02-02' [7] => 'Female' [8] => '10'
更新:对于那些感兴趣的人,这是我修复错误后的最终功能:
<? function addToDatabase ($dataArray) { //Connnect to Database $host = 'myHost'; $un = 'myUsername'; $pw = 'mypassword'; $db_name = 'myTable'; try { $conn = new PDO("mysql:host=$host;dbname=$dbName",:schoolContactPhonE)"; $q = $conn->prepare($sql); foreach ($dataArray as $student){ $a = array (':originallyAddedOn'=>$student['timestamp'],':inputMethod'=>$student['inputMethod'],':studentFirst'=>$student['studentFirst'],':studentLast'=>$student['studentLast'],':studentStreet'=>$student['studentStreet'],':studentCity'=>$student['studentCity'],':studentState'=>$student['studentState'],':studentZip'=>$student['studentZip'],':studentDOB'=>$student['studentDOB'],':studentgender'=>$student['studentgender'],':studentGrade'=>$student['studentGrade'],':schoolName'=>$student['schoolName'],':schoolStreet'=>$student['schoolStreet'],':schoolCity'=>$student['schoolCity'],':schoolState'=>$student['schoolState'],':schoolZip'=>$student['schoolZip'],':schoolContactName'=>$student['schoolContactName'],':schoolContacttitle'=>$student['schoolContacttitle'],':schoolContactEmail'=>$student['schoolContactEmail'],':schoolContactPhone'=>$student['schoolContactPhone']); if ($q->execute($a)) { // Query succeeded. } else { // Query failed. echo $q->errorCode(); } // close the database connection $dbh = null; echo "Insert Complete!"; } } catch(PDOException $E) { echo $e->getmessage(); } }
我唯一看错的是你在循环中做好准备……应该更像是:
try { $conn = new PDO("mysql:host=$host;dbname=$dbName",$pw); echo 'Connected to database<br>'; $sql = "INSERT INTO studentData (originallyAddedOn,:schoolContactPhonE)"; // prepare once... exceute many :-) $q = $conn->prepare($sql); foreach($studentDataArray as $student) { $q->execute($yourDataArray); // do other stuff if needed } } catch(PDOException $E) { echo $e->getmessage(); }
以上是大佬教程为你收集整理的PHP PDO使用循环插入全部内容,希望文章能够帮你解决PHP PDO使用循环插入所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。