我正在为应用程序创建一个数据库,数据库创建得很好,但是,我还告诉脚本创建一个表并将其添加到数据库中,但它使我在将表添加到DB之前刷新页面。它偶尔会添加它,而无需刷新页面(在初始加载时)。还有其他人遇到过这个问题吗?如果有,你是怎么解决的?下面是我的代码:
<?php
$db_name = "815574_pay";
$db_user = "815574_pay99";
$db_pwd = "3Q87v8aL4t76213";
$tbl_name = "accounts";
$connect = mysql_connect("localhost", $db_user, $db_pwd);
$db_create = "CREATE DATABASE " .$db_name;
$use_db = @mysql_select_db($db_name, $connect);
$tbl_create = "CREATE TABLE accounts(id INT(9) NOT NULL AUTO_INCREMENT, PRIMARY KEY(id), fName CHAR(25) NOT NULL, lName CHAR(50) NOT NULL, email VARCHAR(50), password VARCHAR(15) NOT NULL, card INT(16) NOT NULL, ccv INT(4) NOT NULL)";
function db_connect(){
global $db_name;
global $db_user;
global $db_pwd;
global $connect;
if(mysql_connect() == TRUE){
#Make sure the database has connected.
echo "You are connected.<br>
Welcome user $db_user <br>";
}
else{
#Error checking for failed connection.
echo "Failed to connect to MySQL: " .mysql_connect_error();
}
}
db_connect();
function db_create(){
global $db_name;
global $db_user;
global $db_pwd;
global $connect;
global $db_create;
if(mysql_query($db_create, $connect) == TRUE){
#Make sure the database was created
echo "Database $db_name was created.<br>";
}
else{
#Error checking for failed database creation
echo "Error creating database: " .mysql_error() ."<br>";
}
}
db_create();
function tbl_create(){
global $db_name;
global $db_user;
global $db_pwd;
global $connect;
global $tbl_create;
global $use_db;
global $tbl_name;
if($use_db == TRUE){
mysql_query($tbl_create, $connect);
#Make sure the table was successfully added
echo "The table $tbl_name was added to $db_name.";
}
else{
#Error checking for failed table creation
echo "The table could not be added: " .mysql_error();
}
}
tbl_create();
mysql_close($connect);
?>
您在呼叫db_create
之前呼叫mysql_select_db
。显然,如果数据库不存在,那么就不能选择它。尝试在调用db_create
之后将调用移动到mysql_select_db
,并处理mysql_select_db
可能出现的任何错误。