php 创建表失败,php – 创建mysql表,如果它不存在

这篇博客内容涉及PHP编程中的错误修复,主要是一个缺失的分号导致的语法错误,以及如何检查数据库表是否存在。作者展示了如何使用mysqli查询来创建表,并在表不存在时执行CREATE TABLE语句。此外,还指出了在创建表时大小写敏感的问题以及使用mysqli连接数据库的方法。
摘要由CSDN通过智能技术生成

一些东西.

有一个缺少的分号;在…和结尾)“

if(empty($result)) {

echo "

" . $table . " table does not exist

";

$query = "CREATE TABLE IF NOT EXISTS WEIGHIN_DATA (

id INT NOT NULL AUTO_INCREMENT,

PRIMARY KEY(id),

DATE DATE NOT NULL,

VALUE SMALLINT(4) UNSIGNED NOT NULL

)" //

这会导致/抛出一个解析错误,例如:

Parse error: syntax error, unexpected ‘}’ in…

在您最初发布的代码的评论中显示的其他错误中.

另外,您在创建表时没有使用mysql_query.

这是一个mysqli_方法,我在其中注释掉了您的原始代码.

旁注:您在$query =“SELECT ID FROM”中为您的列使用ID. $表;然而你用小写的id创建你的表和列;两个字母都必须匹配.

session_start();

error_reporting(E_ALL);

ini_set('display_errors', 1);

$DB_HOST = "xxx"; // put your own data

$DB_NAME = "xxx"; // put your own data

$DB_USER = "xxx"; // put your own data

$DB_PASS = "xxx"; // put your own data

$conn = new mysqli($DB_HOST, $DB_USER, $DB_PASS, $DB_NAME);

if($conn->connect_errno > 0) {

die('Connection failed [' . $conn->connect_error . ']');

}

/*

// 1. CONNECT TO THE DB SERVER, confirm connection

mysql_connect("localhost", "root", "") or die(mysql_error());

echo "

Connected to MySQL

";

$mysql_connexn = mysql_connect("localhost", "root", ""); // redundant ?

// 2. CONNECT TO THE SPECIFIED DB, confirm connection

$db = "weighttracker";

mysql_select_db($db) or die(mysql_error());

echo "

Connected to Database '$db'

";

$db_connexn = mysql_select_db($db)or die(mysql_error("can\'t connect to $db"));

// 3. if table doesn't exist, create it

$table = "WEIGHIN_DATA";

$query = "SELECT ID FROM " . $table; // that should be id and not ID

//$result = mysql_query($mysql_connexn, $query);

$result = mysql_query($query, $mysql_connexn);

*/

$table = "WEIGHIN_DATA";

$query = "SELECT ID FROM " . $table; // that should be id and not ID

//$result = mysql_query($mysql_connexn, $query); // your original code

// however connection comes last in mysql method, unlike mysqli

$result = mysqli_query($conn,$query);

if(empty($result)) {

echo "

" . $table . " table does not exist

";

$query = mysqli_query($conn,"CREATE TABLE IF NOT EXISTS WEIGHIN_DATA (

id INT NOT NULL AUTO_INCREMENT,

PRIMARY KEY(id),

DATE DATE NOT NULL,

VALUE SMALLINT(4) UNSIGNED NOT NULL

)");

}

else {

echo "

" . $table . "table exists

";

} // else

?>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值