我每次发布此方法时都会尝试创建新表,但出于某种原因,我无法弄清楚它为什么会死掉。
<?php
$host = "127.0.0.1";
$username = 'cotten3128';
$pwd = 'pwd';
$database = "student_cotten3128";
$pin = $_REQUEST['pinSent'];
$words = $_REQUEST['resultSent'];
$tableName = $pin;
$db = new mysqli($host, $username, $pwd, $database);
if ($sql = $db->prepare("CREATE TABLE $pin (id INT(11) AUTO_INCREMENT);")) {
$sql->execute();
$sql->close();
}else{
echo $mysql->error;
die('Could not create table');
}
for($i=0;$i<count($words);$i++){
if($sql = $db->prepare("INSERT INTO ".$pin.$words[$i].";")) {
$sql->execute();
$sql->close();
}else{
echo $mysql->error;
die("Could not add data to table");
}
}
mysqli_close();
?>
非常感谢任何帮助或见解。
答案 0 :(得分:0)
我的帖子的目的是帮助您自己找到问题。由于您没有添加太多信息,我认为我的帖子对您有帮助。
根据您共享的代码,我猜您的意思是执行了一个被调用的die()
函数。
错误的函数调用
Jay Blancherd提到mysql_close
是错误的功能。您必须在创建mysqli_close
实例时使用mysqli
。
除此之外,mysql_*
已被弃用,不应再使用了。
调试步骤
不仅是这种情况,而且一般来说你应该问自己:
YES:
否:(如果没有可用的错误消息,或者您无法搜索它,因为它是自定义错误消息)
仍然没有解决方案?:
根据您的情况进行调试:
为了缩小范围。哪个die()
被执行?根据回显,查询要在实际执行之前执行。然后将SQL查询复制到SQL编辑器并查看它的语法。之后你可能已经知道了这个问题。