首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >php停止sql查询在每次刷新时运行

php停止sql查询在每次刷新时运行
EN

Stack Overflow用户
提问于 2021-11-13 03:34:15
回答 2查看 58关注 0票数 1

在我的php脚本中,我使用了一个sql查询来创建表,但是在创建表之后,每次后续的刷新都会返回一条错误消息,声明表已经创建。我知道它已经创建了,但是如果它已经运行了,我如何在刷新时停止查询的第二次运行?

php脚本:

代码语言:javascript
复制
<?php
include_once ".env.php";
include_once "template.php";

html_top('School Database');
// open connection
$conn = mysqli_connect(host,username,password,database_name);

// verify connection
if (!$conn)
exit("<p class='error'>Connection Error: " . mysqli_connect_error() . "</p>");

// create table
$sql = "create table students2 (
    id int not null auto_increment,
    first varchar(20), 
    last varchar(20), 
    dob date, primary key (id))";

$create = mysqli_query($conn,$sql);
if ($create)
    echo "Created";
else
    echo "Error creating table: " . mysqli_error($conn);

html_bottom();
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2021-11-13 03:45:30

DDL命令,如create table,应该在一个单独的文件中,该文件在初始化步骤中只被调用一次。这是避免错误的正式方式。

另一种可能有帮助但效率不高的方法是使用:CREATE TABLE IF NOT EXISTS Students2(....)

代码语言:javascript
复制
// create table 
$sql = "create table if not exists students2 ( 
id int not null auto_increment, 
first varchar(20), 
last varchar(20), 
dob date, 
primary key (id))";
票数 1
EN

Stack Overflow用户

发布于 2021-11-13 05:18:34

当使用多个create或alter tables命令时,或者在经常使用或刷新的页或函数中使用它们时,这是一个逻辑错误。在您的情况下,有许多解决方案,但完美的解决方案是将创建命令与其他代码分开。

或者您可以在创建任何表格时使用(如果存在),因为guys回答了您的问题。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/69951243

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档