gpt4 book ai didi

php - 在带有 mysql 的 php 中,您可以将 $var 替换为 :var?

转载 作者:可可西里 更新时间:2023-11-01 07:56:04 26 4
gpt4 key购买 nike

我在这里搜索了同名主题,但没有找到与我所拥有的内容相关的内容。我按照教程和 sql

$sql .= "WHERE event_id = :id LIMIT 1"

我看到作者用了:id。我认为应该是 $id。我不知道这个 php 符号。请有人告诉我,这是怎么回事?谢谢。

最佳答案

这称为参数绑定(bind)。目的是防止 SQL 注入(inject)。

例子:

<?php
/* Execute a prepared statement by binding PHP variables */
$calories = 150;
$colour = 'red';
$sth = $dbh->prepare('SELECT name, colour, calories
FROM fruit
WHERE calories < :calories AND colour = :colour');
$sth->bindParam(':calories', $calories, PDO::PARAM_INT);
$sth->bindParam(':colour', $colour, PDO::PARAM_STR, 12);
$sth->execute();
?>

http://php.net/manual/en/pdostatement.bindparam.php

这里有一个很好的解释: How can I prevent SQL injection in PHP?

关于php - 在带有 mysql 的 php 中,您可以将 $var 替换为 :var?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33674613/

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