gpt4 book ai didi

php - addslashes() 插入数据库时​​没有斜杠

转载 作者:太空宇宙 更新时间:2023-11-03 12:15:40 24 4
gpt4 key购买 nike

由于某些原因,addslashes 在将数据插入数据库时​​不添加斜线。我以为我使用的是正确的,但显然不是......当我提交带有单引号或双引号的数据时,它只是发送正确的字符串。关于如何使这项工作有什么想法吗?

代码

<?php
//include db connect
include ("db_con.php");

//start session
session_start();

//set variable names
$username = $_SESSION['username'];
$entry = addslashes($_POST['entry']);
$uri = $_SERVER['HTTP_REFERER'];

//send chat
$query = mysqli_query($con, "INSERT INTO chat (username, entry) VALUES
('".$username."', '".$entry."')");
if ($query) {
header('Location: '. $uri);
} else {
echo 'Chat entry failed for an unknown reason - Please go back and try again';
}
?>

最佳答案

addslashes() 用于转义字符串。如果你有代码:

$lastname = "O'Bama";

$query = "SELECT name FROM users WHERE lastname='$lastname'";

查询将产生错误,因为 Bama 将被视为 SQL 语句。为了防止这种情况,您可以使用 addslashes() 所以

echo addslashes($lastname); // returns O\'Bama

现在您可以毫无错误地执行查询,因为您的数据库会将值视为“O'Bama”。

关于php - addslashes() 插入数据库时​​没有斜杠,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22338061/

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