我试图在phpMyAdmin中向现有表添加多个列,但我一直收到同样的错误:
#1064 - 您的SQL语法有错误; 查看与MySQL服务器版本对应的手册,以获得正确的语法...
我在写信:
ALTER TABLE `WeatherCenter`
ADD COLUMN
BarometricPressure SMALLINT NOT NULL,
CloudType VARCHAR(70) NOT NULL,
WhenLikelyToRain VARCHAR(30) NOT NULL;
Run Code Online (Sandbox Code Playgroud)
我已经在StackOverflow上提到了过去的帖子,我遵循专家的建议,为什么我会收到错误?
假设您有以下内容:
<?php
$connection = mysqli_connect("host", "root", "passwd", "dbname");
$habits = mysqli_real_escape_string($connection, $_POST['habits']);
?>
Run Code Online (Sandbox Code Playgroud)
假设您在一个名为“习惯”的领域输入了“拔河比赛”的值。因此,mysqli_real_escape_string 函数将对第二个引号符号进行转义,并且数据库引擎不会误以为该值为“tug o”。相反,它会知道该价值实际上是“拉锯战”。我的问题是,为什么需要 stripslashes 函数?stripslashes 函数将简单地剥夺 mysqli_real_escape_string 函数所做的良好工作。去掉反斜杠只会让你回到原来的位置,数据库将再次被愚弄。我是否可以假设 stripslashes 函数不用于数据库目的?也就是说,这段代码会不会完全是无意义的?:
<?php
$connection = mysqli_connect("host", "root", "passwd", "dbname");
$habits = mysqli_real_escape_string($connection, $_POST['habits']);
$undosomething = stripslashes($habits);
echo '$undosomething';
?>
Run Code Online (Sandbox Code Playgroud)
如果 stripslashes 不用于数据库目的,那么它到底用于什么?