2017-04-04 114 views
1

我想網絡遷移到mysqli和有我的第一個問題:遷移到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']; 

它的工作原理,但我不認爲這是做這件事的最好方法,我可以做更有效率,更壓縮嗎?

+1

看起來你同時在一段代碼SQL注入? – halfer

+3

您還應該考慮轉向準備好的陳述。這是更多的工作,但你的代碼變得更安全。 –

+0

我在這一切都是新手(在我需要做某些事情時搜索示例)。我認爲SQL注入是一種黑客攻擊的方式...你是什麼意思Halfer?準備好的陳述是PDO?我已經看到了製作代碼的這種方式,但認爲對於我的知識來說非常困難。 – teikuei

回答

2

你應該用準備好的聲明中,使用可避免SQL注入入侵

$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']; 
+0

這將使諮詢(我認爲),但我怎樣才能得到$ tienda的價值? – teikuei

+0

查看更新的答案 –

+0

謝謝!!!我會嘗試這種方式...我認爲它會更加封閉,但如果它更安全,我更喜歡。非常感謝! – teikuei