【问题标题】:Migrating to mysqli迁移到 mysqli
【发布时间】:2018-01-03 22:08:08
【问题描述】:

我正在尝试将网络迁移到 mysqli 并有我的第一个问题:

在 mysql 我有这个:

$sel_user="SELECT * FROM usuarios WHERE user='$usuario_tienda'";
$rs_user=mysql_query($sel_user);
$tienda=mysql_result($rs_user,0,"tienda");

当我更改为 mysqli 时,它看起来像这样:

$consulta_user="SELECT * FROM members WHERE username='$usuario_tienda'";
$query_user = mysqli_query($mysqli,$consulta_user);
$resultado_user = mysqli_fetch_assoc($query_user);
$tienda= $resultado_user['tienda'];

有效,但我认为这不是最好的方法,我可以做得更高效、更压缩吗?

【问题讨论】:

  • 看起来你在两段代码中都有 SQL 注入?
  • 您还应该考虑使用准备好的语句。工作量更大,但您的代码会变得更安全。
  • 我是所有这一切的新手(当我需要做某事时搜索示例)。我认为 SQL 注入是一种黑客攻击方式……你是什么意思 Halfer?准备好的报表是PDO吗?我见过这种编写代码的方法,但据我所知很难。

标签: php mysql mysqli


【解决方案1】:

你应该使用准备好的语句,使用它可以避免 sql-injection hack

$stmt = $mysqli->prepare("SELECT * FROM usuarios WHERE user=:user");
$stmt->bindParam(':user', $usuario_tienda);
$result = $stmt->execute(); 
$resultado_user = $result->fetch_assoc();
echo $resultado_user['tienda'];

【讨论】:

  • 这将进行咨询(我认为),但我怎样才能获得 $tienda 值?
  • 谢谢!!!我会尝试这种方式......我认为它会更加压缩,但如果它更安全,我更喜欢。非常感谢!
猜你喜欢
  • 2015-06-03
  • 2012-11-26
  • 2014-12-28
  • 1970-01-01
  • 1970-01-01
  • 2013-12-24
  • 2019-07-28
  • 2019-08-25
  • 2010-10-20
相关资源
最近更新 更多