Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/68.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP/MySQL查询:未插入行_Php_Mysql_Sql_Mysqli - Fatal编程技术网

PHP/MySQL查询:未插入行

PHP/MySQL查询:未插入行,php,mysql,sql,mysqli,Php,Mysql,Sql,Mysqli,我有一个很大的SQL文件,我正试图插入到数据库中。它无法通过phpMyAdmin工作,因为它太大了,所以我创建了一个自定义脚本: <?php ini_set('max_execution_time', 0); $file = file_get_contents('./mySQLfile.sql'); //var_dump($file); die(); $conn = new mysqli('localhost', 'myUserName', 'myPassword', 'myDat

我有一个很大的SQL文件,我正试图插入到数据库中。它无法通过phpMyAdmin工作,因为它太大了,所以我创建了一个自定义脚本:

<?php

ini_set('max_execution_time', 0);

$file = file_get_contents('./mySQLfile.sql');

//var_dump($file); die();

$conn = new mysqli('localhost', 'myUserName', 'myPassword', 'myDatabase');

$q = $file;

if ($result = $conn->query($q))
{
    echo '<font color="red">'.$conn->error.'</font>';
    echo '<br />';
}

?>
为什么不插入这些值

谢谢。

PHP的mysql驱动程序(mysql/mysqli/pdo)不允许在一次调用中使用多个查询作为安全措施。您不能像这样将整个转储提供给单个查询调用

你最好还是做点像这样的事情

exec("mysql -u xxx -p < dump.sql");
exec(“mysql-uxxx-p

相反。

sql文件的确切大小是多少?请运行无缓冲查询。因为语句
DELETE
INSERT
UPDATE
没有返回值,我在谷歌上搜索过,但不确定这里的语法。你能把它放在“myUsername”、“myPassword”、“myDatabase”的上下文中吗?另外,如果
exec
命令不可用,还有其他方法可以这样做吗?谢谢,但我没有命令行访问权限,这是一个共享服务器。我可以在web浏览器中通过PHP脚本使用帮助命令吗?如果是这样,怎么做?没关系,我发现这里的语法仍然不起作用,也没有给我任何错误。我能做些什么来了解它为什么不起作用?我已经添加了
ini\u集('error\u reporting',E\u ALL)。mysql可能不在exec正在使用的shell的路径中。尝试一个完整的
/usr/bin/mysql
-类型的路径,当然要根据您的系统设置进行调整。
exec("mysql -u xxx -p < dump.sql");