2015-12-02 37 views
1

我正在为一个项目创建我的学校的登录服务。一切都工作到目前为止,但我想能够将所有的学生信息(约1200记录)从Excel中转​​移到数据库。使用php插入1200条记录不工作

这将是最好的,如果我能够从网站做到这一点,但目前没有工作。

我看着直通这里的一些职位,但没能找到一个合适的解决方案

INSERT INTO leerlingen (Stamnr, Klas, Roepnaam, Tussenv, Achternaam, Adres, Postcode, Woonplaats,Telefoon, Geboortedatum, Binnen, Betaald) VALUES(8101466,'class','name','','name','street','number','city','phone number','bday',0,0); 

如果我只用一个插入语句它工作一切正常,但当我尝试发送2个或多个它不,我没有得到一个错误,但它没有做任何事情。

<!DOCTYPE html> 

<head> 
<script style="tekst/javascript" src="main.js"></script> 
<title>Zlv pasjessysteem</title> 
<link rel="stylesheet" type="text/css" href="1.0.css"> 
</head> 
<body onload="screen()"> 
    <div id="Screen"> <!-- Deze div gaat over het hele scherm--> 
    <div id="Menubalk"> <!-- Dit geeft de menubalk aan--> 
     <li> 
     <ul><a href="Index.php">Home</a></ul> <!-- Dit geeft de link voor de Home knop aan--> 
     <ul><a href="Help.php">Help</a></ul> <!-- Dit geeft de link voor de Help knop aan--> 
     <ul><a href="Instellingen.php">Instellingen</a></ul> <!-- Dit geeft de link voor de Instellingen knop aan--> 
     <ul><a href="Statistiek.php">Statistiek</a></ul> <!-- Dit geeft de link voor de Statistiek knop aan--> 
     <ul><a href="Credits.html">Credits</a></ul> <!-- Dit geeft de link voor de Credits knop aan--> 
     </li> 
    </div> 
    <div id="tekst"> 
    <h3>code vanuit je excel bestand voor de nieuwe database</h3> 
    <form action="instellingen.php" method="post"><!--maak het form--> 
     <textarea name="code"></textarea><br><!--code insert comes here--> 
     <input type="submit" value="verstuur"><!--verzend knop--> 
    </form> 
    <h3>weg met de database</h3> 
    <form action="instellingen.php" method="post"><!--maak het form--> 
     <input type="submit" value="verwijder database"><!--verzend knop--> 
     <input style='display:none;' type=" text" value="remove" name="code"><br><!--remove database--> 
    </form> 
    </div> 
    </div> 

<?php 
$servername = "localhost";//connect met de database door middel van deze variabelen 
$username = "root"; 
$password = ""; 
$dbname = "zlv"; 
// begin de verbinding 
$conn = mysqli_connect($servername, $username, $password, $dbname); 
/* check connection */ 
if (mysqli_connect_errno()) { 
    printf("Connect failed: %s\n", mysqli_connect_error());//verbinding mislukt? geef error message 
    exit(); 
} 
$code = " "; 
if (isset($_POST["code"])){$code=$_POST["code"]; 
    if($code=="remove"){ 
    $sql="DELETE FROM leerlingen"; 
    mysqli_query($conn, $sql); 
    } 
    else{ 
    $sql=$code; 
    echo $sql; 
    $sql="INSERT INTO leerlingen (Stamnr, Klas, Roepnaam, Tussenv, Achternaam, Adres, Postcode, Woonplaats,Telefoon, Geboortedatum, Binnen, Betaald) VALUES(8101466,'value','value','','value','value','value','value','value','1998-04-12',0,0); 
INSERT INTO leerlingen (Stamnr, Klas, Roepnaam, Tussenv, Achternaam, Adres, Postcode, Woonplaats,Telefoon, Geboortedatum, Binnen, Betaald) VALUES(8111963,'value','value','','value','value','value','value','value','2003-12-03',0,0) 
"; 
    mysqli_query($conn, $sql) or die(mysql_error());; 
    } 
} 

?> 

</body> 

请注意,我把所有的多个查询的一个变量(不知道如果没关系)。我是否需要以另一种方式来做,还是有更简单的方法?

发现问题。确实需要使用mysqli_multi_query

+2

首先你要混合'mysql_ *'和'mysqli_ *'函数。这是行不通的。 –

+0

'mysqli_query()'只会执行一个查询。你的'$ sql'是2个查询。 – Sean

+0

请不要在您的标题中添加* fixed *之类的内容。您将答案标记为已接受。那会做。相关[帮助页](http://stackoverflow.com/help/someone-answers) – rene

回答

0

除非你改变了查询单查询,它不会与mysqli_query()工作:

INSERT INTO leerlingen 
      (stamnr, 
      klas, 
      roepnaam, 
      tussenv, 
      achternaam, 
      adres, 
      postcode, 
      woonplaats, 
      telefoon, 
      geboortedatum, 
      binnen, 
      betaald) 
VALUES  (8101466, 
      'ZH5b', 
      'Sheri', 
      '', 
      'Zwietering', 
      'Heintje Davidspad 17', 
      '1507 SW', 
      'Zaandam', 
      '075-6706253', 
      '1998-04-12', 
      0, 
      0), 
      (8111963, 
      'ZA1a', 
      'Maaike', 
      '', 
      'Zwiers', 
      'Oversluispad 14', 
      '1521 EE', 
      'Wormerveer', 
      '075-6120246', 
      '2003-12-03', 
      0, 
      0) 

如果需要多个查询,使用mysqli_multi_query()看到@blckbird回答