簡體   English   中英

PHP / MySQL查詢:未插入行

[英]PHP/ MySQL Query: Rows Not Being Inserted

我有一個大的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 />';
}

?>

文件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 @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
/*!40101 SET @OLD_COLLATION_CONNECTION=@@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),

為什么不插入這些值?

謝謝。

PHP的mysql驅動程序(mysql / mysqli / pdo)不允許在單個調用中進行多個查詢作為安全措施。 您無法將整個轉儲提供給單個查詢調用。

你最好只做一些類似的事情

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

代替。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM