PHP-PDO连接对象查询不工作
我正在尝试使用以下代码创建一个新表:PHP-PDO连接对象查询不工作,php,mysql,pdo,Php,Mysql,Pdo,我正在尝试使用以下代码创建一个新表: try { $db = new PDO("mysql:hostname=localhost",'root','root'); $db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); } catch(PDOException $e) { echo $e->getMessage(); die(); } //to create database $db
try {
$db = new PDO("mysql:hostname=localhost",'root','root');
$db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
} catch(PDOException $e) {
echo $e->getMessage();
die();
}
//to create database
$db->query("CREATE DATABASE theShop IF NOT EXISTS ;");
$db->query("USE theShop;");
$createTableShops = "CREATE TABLE `advertisor`
(
`ShopID` UNSIGNED INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
`ShopName` VARCHAR(50) NOT NULL,
)type=InnoDB;";
try {
$db->query($createTableShops);
} catch(PDOException $e) {
echo $e->getMessage();
}
在phpMyAdmin我浏览数据库以确定它是否真的已创建,我反复尝试代码,但它总是创建数据库theShop但是有0(零)个表,为什么不创建表
注意:我尝试了一些更改:
类型
更改为引擎
类型
也不使用引擎
dbname=theShop
让我知道它是否有效。我的代码中没有
ShopName
字段后的“,”字符,复制代码时出现错误。您尝试过以下方法吗:?是的!是的!。。。我问之前已经找了很多了!所以它不会创建表,但也不会输出任何错误。。。?您是否检查了query()
是否返回true
?你200%确定你在看正确的数据库吗?是的,我查过了。。如果查询没有正确完成,我会尝试进行一些输出。它也不会给出任何输出。。。我在代码的末尾做了一个输出,输出就出现了!但是查询测试不能在Windows8上运行,AppServ->它可以工作!thx。。。但我的密码有什么错。您已将UNSIGNED INT
更改为BIGINT
仅当您想使用UNSIGNED时:选择'ShopID'INT UNSIGNED
而不是'ShopID'UNSIGNED INT
此外,请记住,您可以使用控制台调试php是的,我只将类型更改为engine,将UNSIGNED INT更改为BIGINT
<?php
try {
$db = new PDO("mysql:hostname=localhost",'root','pw');
$db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
} catch(PDOException $e) {
echo $e->getMessage();
die();
}
//to create database
$db->query("CREATE DATABASE IF NOT EXISTS theShop;");
$db->query("USE theShop;");
$createTableShops = "CREATE TABLE `advertisor`
(
`ShopID` INT UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY,
`ShopName` VARCHAR(50) NOT NULL
)ENGINE=InnoDB";
try {
$db->query($createTableShops);
} catch(PDOException $e) {
echo $e->getMessage();
}
?>