簡體   English   中英

我正在嘗試將一些數據輸入數據庫。 它創建新表,但不填充它們

[英]I'm trying to get some data into my database. It creates the new tables but doesn't fill them

我在本地主機上使用MySQL數據庫,並嘗試上傳一些世界數據。 當我運行下面的代碼時,它會創建表格,但不會被填充。

我測試了文件讀取。 它能夠很好地呼應名稱,區域,緯度和lng。

<?php

require_once 'connect.ini.php';

$file_names = scandir('Countries');

foreach ($file_names as &$file_name)
    if ($file_name != '.' && $file_name != '..') {

        $file_path = '/Applications/XAMPP/xamppfiles/htdocs/series/dbsetup/Countries/'.$file_name;
        $file_handle = fopen("$file_path", "r");

        $sql = $sql = "CREATE TABLE `countries1`.`$file_name` (`id` INT(11) NOT NULL AUTO_INCREMENT PRIMARY KEY, `name` VARCHAR(20) NOT NULL, `region` VARCHAR(20) NOT NULL, `latitude` FLOAT(15) NOT NULL, `longitude` FLOAT(15) NOT NULL) ENGINE = MyISAM;";
        mysql_query($sql);

        while(!feof($file_handle)) {
            $explode = explode(", ", fgets($file_handle));
            $name = $explode[0];
            $region = $explode[1];
            $latitude = $explode[2];
            $longitude = $explode[3];
            $sql = "INSERT INTO `countries1`.`$file_name` (`id`, `name`, `region`, `latitude`, `longitude`) VALUES (NULL, \'$name\', \'$region\', \'$latitude\', \'$longitude\');";
            mysql_query($sql);
        }
    }
?>

下面是我的connect.ini.php文件,盡管我非常確定它正在工作,因為它正在創建表單。

<?php
$conn_error='Could not connect.';

$mysql_host='localhost';
$mysql_user='root';
$mysql_pass='';

$mysql_db='a_database';


if(!(@mysql_connect($mysql_host,$mysql_user,$mysql_pass)&&@mysql_select_db($mysql_db)))
    die($conn_error);
?>

好吧,當變量在雙引號內時,您不應轉義單引號。 因此,將插入查詢更改為:

$sql = "INSERT INTO `countries1`.`abc` (`id`, `name`, `region`, `latitude`, `longitude`) VALUES (NULL, '$name', '$region', '$latitude', '$longitude');";

您也不需要結尾的分號; 如果您正在使用mysql函數執行查詢,請在雙引號內。

暫無
暫無

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

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