对于你们这些人来说,这可能是件小事,但对我来说这是一个挑战。 我正在考虑安全性,因为我是PHP和Mysql的新手,我永远无法100%确定我的工作。那么这段代码中的任何一个错误都可以吗?
$sql = 'SELECT caracteristique_id, caracteristique, obligatoire FROM caracteristique WHERE categorie = ?';
if(mysqli_prepare($con, $sql)){
$stmt = mysqli_prepare($con, $sql);
mysqli_stmt_bind_param($stmt, 's', $cat);
mysqli_stmt_execute($stmt);
$row = array();
mysqli_stmt_bind_result($stmt, $row['caracteristique_id'], $row['caracteristique'], $row['obligatoire']);
while(mysqli_stmt_fetch($stmt)){
// do stuff here
}
}
任何帮助都将会受到赞赏。 注:我在网上做了很多研究,我只是不确定100%。
答案 0 :(得分:0)
您可以(优化/重写)代码段(它将更加ORMised):
$sql = 'SELECT caracteristique_id, caracteristique, obligatoire FROM caracteristique WHERE categorie = ?';
$stmt = mysqli_prepare($con, $sql);
if( $stmt ) {
$stmt->bind_param('s', $cat);
$stmt->execute();
$row = array();
$stmt->bind_result( $row['caracteristique_id'], $row['caracteristique'], $row['obligatoire']);
while( $stmt->fetch() ) {
// do stuff here
}
}
除此之外,我认为该细分市场根本没有任何问题。它应该工作正常。
对于错误等,将上述段放在try-catch
块中:
try {
/* The segment from above */
} catch (mysqli_sql_exception $e) {
echo $e->errorMessage();
}