php如何创建mysql事件_如何在php中创建安全的mysql准备语句?

小编典典

这是一个使用mysqli的示例(对象语法-如果需要,可以很容易地转换为函数语法):

$db = new mysqli("host","user","pw","database");

$stmt = $db->prepare("SELECT * FROM mytable where userid=? AND category=? ORDER BY id DESC");

$stmt->bind_param('ii', intval($_GET['userid']), intval($_GET['category']));

$stmt->execute();

$stmt->store_result();

$stmt->bind_result($column1, $column2, $column3);

while($stmt->fetch())

{

echo "col1=$column1, col2=$column2, col3=$column3 \n";

}

$stmt->close();

另外,如果您想要一种简单的方法来获取关联数组(供SELECT *使用),而不必确切指定要绑定的变量,那么这是一个方便的函数:

function stmt_bind_assoc (&$stmt, &$out) {

$data = mysqli_stmt_result_metadata($stmt);

$fields = array();

$out = array();

$fields[0] = $stmt;

$count = 1;

while($field = mysqli_fetch_field($data)) {

$fields[$count] = &$out[$field->name];

$count++;

}

call_user_func_array(mysqli_stmt_bind_result, $fields);

}

要使用它,只需调用它而不是调用bind_result即可:

$stmt->store_result();

$resultrow = array();

stmt_bind_assoc($stmt, $resultrow);

while($stmt->fetch())

{

print_r($resultrow);

}

2020-05-17

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值