php - 将表添加到数据库需要重新加载站点,为什么?

标签 php mysql

我正在为应用程序创建一个数据库,并且数据库创建得很好,但是,我还告诉脚本创建一个表并将其添加到数据库中,但这让我在将表添加到之前刷新页面数据库。它偶尔会添加它,而无需我刷新页面(在初始加载时)。有没有其他人有这个问题?如果是这样,你是如何解决的?这是我的代码:

<?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可能出现的任何错误。

关于php - 将表添加到数据库需要重新加载站点,为什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17138523/

相关文章:

php - 使用 IMAP/SMTP 在 Gmail 中创建邮件(即草稿)?

php - 伪造文件扩展名

python - 通过 Tkinter 条目将数据插入数据库

php - Mysql - 使用 select 和 PDO 进行条件插入查询

php -::在 PHP 中是什么意思?

php - 用于计数 CSS 选择器的正则表达式匹配

php - 正则表达式从字符串中获取货币和金额

php - 多个记录 ID 的 Laravel 批量更新

mysql - 你能把 "insert"偷偷放到 "select"语句中吗?

javascript - 使用 php 显示长 mysql 查询的进度