gpt4 book ai didi

php - 从过程语句转换为 mysqli 准备语句

转载 作者:行者123 更新时间:2023-11-29 03:02:24 25 4
gpt4 key购买 nike

我需要有关以下代码的帮助,以将其从过程语句更改为准备语句。我会尽力编写代码:

默认程序脚本MYSQLI默认

<?php
$conn = mysqli_connect ('localhost', 'gggggg', 'gggggg') ;
mysqli_select_db ($conn, 'ggggg');

$anti_injection = mysqli_real_escape_string($_GET['user']);

$sql = "SELECT * FROM profiles WHERE username =".$anti_injection);
$result = mysqli_query($conn, $query);

while($row = mysqli_fetch_array($sql)) {

$username = stripslashes($row['username']);
$age = stripslashes($row['age']);
$gender = stripslashes($row['gender']);
?>


<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>title</title>
</head>

<body>
CUSTOM HTML FOR A NICE DESIGN I WANT TO KEEP THE SAME DESIGN LAYOUT ETC...

CATEGORY <?php echo $username; ?>
TITEL <?php echo $age; ?>
CONTENT <?php echo $sex; ?>

</body>
</html>
<?php
}
?>
#

现在我对语句的更改希望它起作用

#
$query = $sql->prepare("SELECT * FROM profiles WHERE `username`=?")
$prep->bind_param("s",$anti_injection);
$prep->execute();

这就是我在安全模式下对 SELECT 的全部了解,但是对于 MYSQLI_FETCH_ARRAY,我真的不知道它会起作用,希望如果有机会以我喜欢的方式保持脚本与 HTML BODY 页面之间的 echo

关于必须如何完成的一些示例?

最佳答案

首先,我强烈建议您不要将程序与对象混合使用。这样会更快地变得困惑。考虑改用 mysqli 对象。

$mysqli = new mysqli('localhost'...);

其次,你很接近,但正如我所说,你正在混合对象和程序,所以你改变它的方式将不起作用。另外,您到处都在弹跳变量(如果您运行原始更改,它将失败)。假设您如上所述切换到 mysqli 对象,您可以执行此操作

$prep = $mysqli->prepare("SELECT * FROM profiles WHERE `username`=?");
$prep->bind_param("s",$anti_injection);
$prep->execute();

现在,下一部分很棘手。您必须安装 mysqlnd 才能执行此操作,但这是恢复结果的最佳方式。如果您运行此命令并收到有关缺少 get_result 的错误,则您没有运行 mysqlnd

$result = $prep->get_result();
while($row = $result->fetch_array()) {
//Your HTML loop here
}

关于php - 从过程语句转换为 mysqli 准备语句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21082702/

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