我正在学习MySQL与PHP以及如何创建表格&插入数据。但我特别困惑的下面的代码:mysqli:为什么我需要'if'语句来创建表?
//SECTION 1
$sql = "CREATE TABLE ingredients (
id INT(6) UNSIGNED AUTO_INCREMENT PRIMARY KEY,
quanity INT(6) NOT NULL,
package INT(6) NOT NULL,
item VARCHAR(50),
cost DECIMAL(18,2),
store VARCHAR(50),
reg_date TIMESTAMP
)";
//SECTION 2
if ($conn->query($sql) === TRUE) {
echo "Table ingredients created successfully";
} else {
echo "Error creating table: " . $conn->error;
}
//SECTION 3
$conn->close();
所以我复制并粘贴此代码,并在浏览器中运行它,然后检查本地主机/ phpMyAdmin的果然表已创建。
然而,我然后被删除的代码和只跑了第1节,(第2部分& 3被删除并且在该代码不存在的)假设这是所有我需要创建一个表。刷新我的浏览器后,我的数据库中没有创建表。
所以我又看了一下,觉得它可能是因为我没有关闭连接。所以这次我插入第1节&第3节并省略第2节。
这也没有创造出令我惊讶的表。所以这是我困惑的地方。为什么我需要第2节?据我所知,它只能打印出一个字符串,这只是一个小的通知给我或任何创建表的用户,但在创建表时似乎并不重要。那么为什么我不能在没有它的情况下创建表?我很困惑!
第1只创建一个包含您的表定义,无非就是一个PHP串;它是对数据库执行该请求的第2部分。第2节是根据第1节定义的实际工作做什么 –
特别是'$ conn-> query($ sql)'是实际执行查询的内容。 – cteski
第1部分只是说明,第2部分将执行这些说明。这就像一个房子计划和房子建设,第1节只是一个计划,第2节建立这个计划......如果有帮助。 – samayo