插入php mysql的正确语法是什么。带或不带会话变量
我用单引号和$session变量尝试了很多语法测试,现在我决定将session变量放在正则变量中,以减少语法复杂性插入php mysql的正确语法是什么。带或不带会话变量,php,mysql,session,insert,Php,Mysql,Session,Insert,我用单引号和$session变量尝试了很多语法测试,现在我决定将session变量放在正则变量中,以减少语法复杂性 $conn = mysql_connect($servername, $username, $password); // Check connection if (!$conn) { die("Connection failed: " . mysql_error()); } if (!mysq
$conn = mysql_connect($servername, $username, $password);
// Check connection
if (!$conn) {
die("Connection failed: " . mysql_error());
}
if (!mysql_select_db($dbname)) {
die('Could not select database: ' . mysql_error());
}
$this_email = $_SESSION['email'];
$this_password = $_SESSION['pw'];
$this_number = $_SESSION['phone'];
$sql = mysql_query("INSERT INTO user_accounts(Email, Password, Phone#) VALUES ('$this_email','$this_password','$this_number')");
if (!$sql) {
echo mysql_error();
}
mysql_close($conn);
这是我得到的错误:
您的SQL语法有错误;检查与您的MariaDB服务器版本相对应的手册,以获取第1行“”附近要使用的正确语法
列名可以有
基本拉丁字母、数字0-9、美元、下划线
。所有其他字符都需要使用反勾号
因此,请尝试:
INSERT INTO user_accounts(Email, Password, `Phone#`)
您还应该更新驱动程序并使用准备好的语句。列名可能有
基本拉丁字母、数字0-9、美元、下划线。所有其他字符都需要使用反勾号
因此,请尝试:
INSERT INTO user_accounts(Email, Password, `Phone#`)
您还应该更新您的驱动程序并使用准备好的语句。因为手机#
中有一个特殊字符(#
),您需要用反勾来写它
此外,我建议您使用PDO或mysqli库以及准备好的语句,因为mysql库已被弃用。因为Phone
中有一个特殊字符(
),您需要用反勾来写它
此外,我建议您使用PDO或mysqli库以及prepared语句,因为mysql库已被弃用。如果可以,最好只使用一个不需要在倒勾中的列名。如果可以,也许最好只使用一个不需要倒勾的列名,因为它不是字母数字#
实际上意味着一些东西。这不是问题,因为它不是字母数字<代码>#
实际上意味着什么。