所有我想要的是创建2个或更多的表使用tables.sql
文件通过PHP。
<?php
require 'config.php';
$mysqli = new mysqli(DB_HOST, DB_USER, DB_PASSWORD);
/* check connection */
if($mysqli->connect_errno){
echo "MySQL connection failed.<br>";
exit();
}else{
echo "MySQL successfully connected.<br>";
}
// DB create
if($mysqli->query('CREATE DATABASE IF NOT EXISTS '.DB_NAME.';') === TRUE){
echo "Database successfully created.<br>";
}else{
echo "Error: ".$mysqli->errno.", ".$mysqli->error."<br>";
}
// DB select
if($mysqli->select_db(DB_NAME) === TRUE){
echo "Database successfully selected.<br>";
}else{
echo "Error: ".$mysqli->errno.", ".$mysqli->error;
}
// Create tables
if($mysqli->query(file_get_contents('../sql/tables.sql')) === TRUE){
echo "Tables successfully created.<br>";
}else{
echo "Error: ".$mysqli->errno.", ".$mysqli->error."<br>";
}
$mysqli->close();
?>
DB_HOST、DB_USER、DB_PASSWORD、DB_NAME在配置中定义。php文件
PHP v7.4.7
CREATE TABLE IF NOT EXISTS `users` (
`id` int(11) NOT NULL auto_increment,
`username` varchar(100) NOT NULL,
`password` varchar(100) NOT NULL,
PRIMARY KEY (`id`)
);
CREATE TABLE IF NOT EXISTS `status` (
`status` varchar(100) NOT NULL,
`IDtime` varchar(100) NOT NULL
);
如果我使用命令行将这个tables.sql文件直接上传到MySQL服务器,它就会工作。
MySQL v8.0.20 MySQL Comunity服务器-GPL
错误:1064,SQL 语法有错误;检查与您的 MySQL 服务器版本相对应的手册,了解在“如果不存在则创建表”状态(状态
varchar(100) 不为空,第 16 行的“IDt”附近使用的正确语法
MySQL::查询只接受单个查询https://www.php.net/manual/en/mysqli.query.php.
如果你想一次执行多个查询,你必须使用 mysqli::multi_query https://www.php.net/manual/en/mysqli.multi-query.php。
示例:
$result = $mysqli->query("SELECT * FROM reservations;SELECT * FROM reservations");
var_dump($result, $mysqli->error);
bool(false)
string(172) "You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'SELECT * FROM reservations' at line 1"
$result = $mysqli->multi_query("SELECT * FROM reservations;SELECT * FROM reservations");
var_dump($result, $mysqli->error);
bool(true)
string(0) ""
问题内容: 我想轻松删除多个表,而无需在删除查询中实际列出表名,并且要删除的表的前缀为“ wp_” 问题答案: 只需分享其中一种解决方案: mysql> SELECT CONCAT(“ DROP TABLE”, GROUP_CONCAT(TABLE_NAME))as stmt 从information_schema.TABLES WHERE TABLE_SCHEMA =“ your_db_name
我有一张像下面这样的桌子, ID姓名电子邮件性别 这个表中已经有了一些值。 现在,我用下面的查询来添加年龄。 alter table tblPerson add Age int 现在,我的行结构看起来像 ID姓名电子邮件性别年龄 现在,我有了年龄表。有任何查询可以将这些年龄添加到新创建的列中吗? 所有年龄都是根据ID排序的。因此,如果需要逻辑,则不需要。我只需要添加列数据。 谢谢
问题内容: 假设我有两个表,并且 我想在一个查询中将来自某些输入的数据插入到表中,该怎么做? 请,如果可以做到,请解释语法。 问题答案: MySQL不支持在单个INSERT语句中进行多表插入。奇怪的是,Oracle是我所知道的唯一一个…
问题内容: 供参考的是代码。我正在尝试制作一个记录到elasticsearch的hubot插件,然后使用hubot命令搜索那些日志。 https://gist.github.com/4050748 我正在尝试检索与两个查询匹配的记录。 我期待: 多达50条记录 具有给定用户的记录 最近一小时的记录 我有: 最多10条记录 具有给定用户的记录 从任何时候 我如何在过去一小时内获取带有某些用户名的所有
问题内容: 我有3个变量:,和。 如何设置并执行一次此查询? 问题答案:
问题内容: 我想使用PHP上传文件,但问题是我不知道要上传多少文件。 我的问题是,如果使用该如何上传文件? 我将仅添加“文件”框,并使用JavaScript创建更多要上传的文件输入,但是如何在PHP中处理它们呢? 问题答案: 请参阅:$ _FILES ,处理文件上传