gpt4 book ai didi

php - 使用php在mysql中创建名称输入的数据表

转载 作者:行者123 更新时间:2023-11-29 21:39:35 26 4
gpt4 key购买 nike

使用php创建数据表时遇到问题,我试图使用读入的名称创建表,这是我工作的代码部分:

<?php
include 'db-info-information.php';
$connection = mysqli_connect($dbhost, $dbuser, $dbpass);
if (! $connection ){
die('Could not connect!');
}
$name = Trim(stripslashes($_POST['name']));
$phone = Trim(stripslashes($_POST['phone']));
$parent = Trim(stripslashes($_POST['parent']));
$parent_phone = Trim(stripslashes($_POST['parent-phone']));
mysqli_select_db($connection,"info");
$sql="create table '$name' (
name varchar(20),
phone int,
parent varchar(20),
parent_phone int
)";
if(mysqli_query($connection, $sql))
{
header("Location: success.php");
}
else
{
echo "error";
}
$ins = "insert into '$name' (name, phone, parent, parent_phone) values ('$name','$phone', '$parent','$parent_phone')";
if(mysqli_query($connection, $ins))
{
header("Location: success.php");
}

mysqli_close($connection);

?>


我试图用$ name的值来命名新表,所以我应该在$ sql =“ create table ____((?

最佳答案

这是一个单引号:

这是一个反省:

在USA键盘上,反引号是第一行中“ 1”的左侧。

将$ name放在反引号后面,而不是单引号:

$sql="create table `$name` (
name varchar(20),
phone int,
parent varchar(20),
parent_phone int
)";


如果您要使用任何关键字/保留字,则使用反引号,因此并非总是必需的。

您可能会发现,从位于此处的MySQL文档中阅读有关 CREATE TABLE的更多信息很有用:

http://dev.mysql.com/doc/refman/5.7/en/create-table.html

更新:

您的插入查询不应在表上使用单引号,而在表上必须使用反引号:

$ins = "insert into `$name` (name, phone, parent, parent_phone) values     ('$name','$phone', '$parent','$parent_phone')";

关于php - 使用php在mysql中创建名称输入的数据表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34646241/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com