我有我想要插入到數據庫中的大型SQL文件。它不會通過phpMyAdmin的工作,因爲它是如此之大,所以我創建了一個自定義腳本:PHP/MySQL查詢:行沒有被插入
<?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 />';
}
?>
文件的var_dump()的正確。與數據庫的連接被創建(我通過從數據庫返回值來測試它)。但是,當我運行代碼時,沒有數據被插入到數據庫中。 SQL文件的開始如下:
-- phpMyAdmin SQL Dump
-- version 3.4.5
-- http://www.phpmyadmin.net
--
-- Host: localhost
-- Generation Time: Dec 05, 2012 at 04:01 PM
-- Server version: 5.5.16
-- PHP Version: 5.3.8
SET SQL_MODE="NO_AUTO_VALUE_ON_ZERO";
SET time_zone = "+00:00";
/*!40101 SET @[email protected]@CHARACTER_SET_CLIENT */;
/*!40101 SET @[email protected]@CHARACTER_SET_RESULTS */;
/*!40101 SET @[email protected]@COLLATION_CONNECTION */;
/*!40101 SET NAMES utf8 */;
--
-- Database: `myDatabase`
--
-- --------------------------------------------------------
--
-- Table structure for table `content_field_image_cache`
--
CREATE TABLE IF NOT EXISTS `content_field_image_cache` (
`vid` int(10) unsigned NOT NULL DEFAULT '0',
`nid` int(10) unsigned NOT NULL DEFAULT '0',
`delta` int(10) unsigned NOT NULL DEFAULT '0',
`field_image_cache_fid` int(11) DEFAULT NULL,
`field_image_cache_list` tinyint(4) DEFAULT NULL,
`field_image_cache_data` text,
PRIMARY KEY (`vid`,`delta`),
KEY `nid` (`nid`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
--
-- Dumping data for table `content_field_image_cache`
--
INSERT INTO `content_field_image_cache` (`vid`, `nid`, `delta`, `field_image_cache_fid`, `field_image_cache_list`, `field_image_cache_data`) VALUES
(1000, 1000, 0, 1000, 1, NULL),
(1001, 1001, 0, 1001, 1, NULL),
(1002, 1002, 0, 1002, 1, NULL),
爲什麼不插入這些值?
謝謝。
什麼是SQL文件的確切大小? –
改爲運行未緩衝的查詢。由於報表'DELETE','INSERT','UPDATE'沒有返回值 – Yang