簡體   English   中英

如何從mysql數據庫獲取數據?

[英]How to get data from mysql database?

我在從數據庫獲取值時遇到問題。 IAM PHP新功能

我正在使用復選框從數據庫獲取值。 僅應打印檢查值。

<form method="POST" action="gradoviexport.php"  id="searchform">
<div id="GRADOVI BIH">
<h3>GRADOVI BOSNE I HERCEGOVINE</h3><hr/>
<input type="checkbox" name="gradovi[]" value="sarajevo"> Sarajevo
<input type="checkbox" name="gradovi[]" value="banovici"> Banovići 
<input type="checkbox" name="gradovi[]" value="banjaluka">  Banja Luka
<input type="checkbox" name="gradovi[]" value="bihac">  Bihać
<input type="checkbox" name="gradovi[]" value="bileca"> Bileća
</div>
<div id="snimi">
<input type="submit" name="submit" value="EXPORT">
</div>
</form>

如果選中了薩拉熱窩,我想從數據庫中打印值。 不必只檢查一個值。如果檢查了所有值,則應打印所有值。

$con=mysqli_connect("$host","$username","$password", "$database");
// Check connection
if (mysqli_connect_errno())
{
echo "Failed to connect to MySQL: " . mysqli_connect_error();
}

 //connecting to db     
$variable=$_POST['grad'];
foreach ($variable as $variablename)
{
$sql_select="SELECT * FROM `clanovi` WHERE `GRAD` = $variablename " ;
$queryRes = mysql_query($sql_select);
print"$sql_select";

}
echo "<table border='5'>
<tr>
<th>IME</th>
<th>PREZIME</th>
<th>FIRMA</th>
<th>ADRESA</th>
<th>TELEFON</th>
<th>FAX</th>
<th>MOBITEL</th>
<th>EMAIL </th>
<th>WEB_STRANICA </th>
<th>GRAD </th>
<th>KATEGORIJA </th>

</tr>";

while($row = mysqli_fetch_array($queryRes))
{
echo "<tr>";
echo "<td>" . $row['IME'] . "</td>"; 
echo "<td>" . $row['PREZIME'] . "</td>";
echo "<td>" . $row['FIRMA'] . "</td>";
echo "<td>" . $row['ADRESA'] . "</td>";
echo "<td>" . $row['TELEFON'] . "</td>";
echo "<td>" . $row['FAX'] . "</td>";
echo "<td>" . $row['MOBITEL'] . "</td>";
echo "<td>" . $row['EMAIL'] . "</td>";
echo "<td>" . $row['WEB_STRANICA'] . "</td>";
echo "<td>" . $row['GRAD'] . "</td>";
echo "<td>" . $row['KATEGORIJA'] . "</td>";


echo "</tr>";
}
echo "</table>";

mysqli_close($con);

假設您將gradovi []數組值發布到了提交的頁面。

提交頁面:

$grad = array();
$grad = $_POST['gradovi']; //get array value
$grad = implode(',',$grad); //convert it into comma separated string
//Insert it into data base

從數據庫獲取:

//fetch the gradovi field from the db like below

echo $row['gradovi']; // print all values

要么

$grad = explode(',',$row['gradovi']);
foreach($grad as $check) {
echo $check; //print one by one
}

您的代碼中幾乎沒有錯誤。

  1. 沒有從POST數據轉義字符串。 使用mysqli_real_escape_string
  2. while循環中有錯誤。 您重新定義mysql查詢結果。

固定代碼:

//connecting to db     
$variable=$_POST['grad'];
foreach($variable as $key => $val) {
    $variable[$key] = mysql_escape_string($val);
}
$sql_select="SELECT * FROM `clanovi` WHERE `GRAD` IN ('" . implode("','", $variable) . "')" ;
$queryRes = mysql_query($sql_select);
print"$sql_select";

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM