[英]Create database and tables with PHP
我正在創建一個db和table創建腳本。 正在創建數據庫,但表不是。 當我將我的CREATE TABLE
sql直接復制到phpMyAdmin時,它會成功插入。 所以我不確定問題是什么。
function createdb() {
include 'DbConnect.php';
$qry = "CREATE DATABASE chinesegame2";
$sql = $mysqli->query($qry);
$stats = "CREATE TABLE stats (
id_stats INT(10) NOT NULL AUTO_INCREMENT,
PRIMARY KEY (id_stats),
id_user_fk VARCHAR(30),
level VARCHAR(255),
experience INT(10),
item_a INT(10),
item_b INT(10),
item_c INT(10)
)";
if ($mysqli->query($stats)) {echo "Table stats created successfully";}
else { printf("Connect failed: %s\n", $mysqli->connect_error);}
mysqli_close($mysqli);
}
結果:創建了chinesegame2數據庫,但未創建任何表。 $mysqli->connect_error
只給出“連接失敗:”。
有什么想法?
謝謝
看這里: http : //www.w3schools.com/php/php_mysql_create.asp
在這里http://us3.php.net/mysqli_select_db
<?php
$con=mysqli_connect("example.com","peter","abc123","my_db");
// Check connection
if (mysqli_connect_errno())
{
echo "Failed to connect to MySQL: " . mysqli_connect_error();
}
// Create table
$sql="CREATE TABLE Persons(FirstName CHAR(30),LastName CHAR(30),Age INT)";
// Execute query
if (mysqli_query($con,$sql))
{
echo "Table persons created successfully";
}
else
{
echo "Error creating table: " . mysqli_error($con);
}
?>
和:
$sql = "CREATE TABLE Persons
(
PID INT NOT NULL AUTO_INCREMENT,
PRIMARY KEY(PID),
FirstName CHAR(15),
LastName CHAR(15),
Age INT
)";
此外,請確保您在該數據庫中“已選擇” ,或者告訴您在哪個數據庫中創建表。並且您的連接詳細信息也是正確的。
只給出“連接失敗:”
這是您在代碼中定義的字符串 - 而不是錯誤消息。 當您應該輪詢任何錯誤的連接時,您只是輪詢連接錯誤 - 即mysqli-> error()。 如果這樣做,它將告訴您尚未選擇數據庫(並且您沒有在CREATE TABLE語句中明確指定數據庫)。
嘗試:
$qry = "CREATE DATABASE chinesegame2";
$sql = $mysqli->query($qry);
$mysqli->select_db("chinesegame2");
...
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.