很多人一直告訴我要通過mysql_ *並獲得mysqli或PDO。從php mysql_ *到mysqli
首先我選擇了Mysqli,因爲它看起來非常類似。
但是我在轉換我的網站時遇到了問題。
我似乎不能找到讓我的數據是這樣的等價的:mysql_result($result, $i, 'COL 2')
下面的代碼是什麼樣子,現在,但是我似乎無法找到一個辦法讓我的數據,如我用mysql_ *做了。
我在做這樣的:
<?php
$sql="SELECT * FROM items";
$result=mysqli_query($GLOBALS["___mysqli_ston"], $sql);
for ($i = $start; $i < $end; $i++) {
if ($i == $total_results) {
echo '
<div class="col-sm-12 col-lg-12 col-md-12"><h4>Der er ingen produkter at vise</h4></div>
';
break;
}
echo '
<div class="col-sm-4 col-lg-4 col-md-4" style="min-height:425px;">
<div class="thumbnail">
<img src="'.mysql_result($result, $i, 'COL 25').'" alt="" style="max-height:300px;">
<div class="caption">
<h4 class="pull-right">'.mysql_result($result, $i, 'COL 20').' point</h4>
<h4 style="color:rgb(220,145,27)">'.mysql_result($result, $i, 'COL 2').'</h4>
<p>Vare nr.: '.mysql_result($result, $i, 'COL 14').'</p>
</div>
<div class="buy">
<form action="" method="POST" name="buy">
<!--- <select name="variant" class="form-control">
<option>small</option>
</select><br> -->
<button class="btn btn-m center-block" type="submit" style="color:white;background-color:rgb(220,145,27);">Køb</button>
</form>
</div>
</div>
</div>
';
};
?>
看起來像是一個很好的機會來解決現有代碼中的低效問題。 – symcbean
也查看了[mysqli prepared statements](http://php.net/manual/de/mysqli.prepare.php),它們使您的代碼更容易受到SQL注入的影響。 也看看[這個問題](http://stackoverflow.com/questions/60174/how-can-i-prevent-sql-injection-in-php),因爲它可以幫助你防止SQL注入。 – BRoebie
@BRoebie儘管確實應該注意SQL注入,但是像這樣的查詢不會傳遞任何變量 - 因此不會受到SQL注入的攻擊。 – Qirel