我无法从数据库表中检索数据( .please帮助我)错误太多。无法从数据库获取任何数据
 <input type="checkbox" name="model" value="Jetta" />Jetta
<input type="checkbox" name="model" value="Laguna" />Laguna
<input type="checkbox" name="model" value="Focus" />Focus
<input type="checkbox" name="model" value="Tico" />Tico
<input type="checkbox" name="model" value="Avensis" />Avensis
<input type="submit" name="submit" value="Register" /> </div>
<input type="hidden" name="submitted" value="TRUE"/>
</fieldset>
file=(test2.php)
<?
mysql_connect("localhost","root","");
mysql_select_db("carforsale");
$sql =mysql_query("SELECT * FROM carforsale");
$row=mysql_fetch_assoc($sql);
$manufacturerName = 'manufacturerName';
$modelName = 'modelName';
$acquisitionPrice = 'acquisitionPrice';
$model = $_POST['model'];
if ($model=="Jetta") {
include('connect.php');
$result = mysql_query("manufacturerName,modelName,acquisitionPrice FROM
carforsale WHERE modelName='Jetta'");
while($row = mysql_fetch_array($result))
{
echo '<td>'. $row['manufacturerName'].' </td>';
echo '<td>'.$row['modelName'].'</td>';
echo '<td>'.$row['acquisitionPrice'].'</td>';
echo '</tr>';
}
elseif ($model=="Laguna")
$result = mysql_query("manufacturerName,modelName,acquisitionPrice FROM
carforsale WHERE modelName='Laguna'");
while($row = mysql_fetch_array($result)) {
echo '<td style="border-left: 1px solid #eacae7;">'.
$row['manufacturerName'].'</td>';
echo '<td>'.$row['modelName'].'</td>';
echo '<td>'.$row['acquisitionPrice'].'</td>';
echo '</tr>';
}
}?>
*我无法从数据库表中检索数据.please帮助我有太多错误;'(
发布于 2015-03-28 02:23:22
你得了这种病
if ($model=="Jetta") {...但是$model并没有被分配到任何地方
将其更改为类似于
$model = $_POST['model'];
if ($model=="Jetta") {因为没有赋值,所以条件是假的,并且在底部没有任何东西可供它执行,所以它基本上什么也不做
发布于 2015-03-29 23:39:17
你的代码是分散的,试着在更多的逻辑块中重构你的代码。此外,不再支持mysql_*函数的,它们是,不再维护,将来将是。您应该使用PDO或MySQLi更新您的代码,以确保将来项目的功能。
对您想要实现的目标进行更精细的调整
connect.php
<?php
$host = '127.0.0.1';
$user = 'root';
$pass = '';
$database = 'blub';
try {
$pdo = new PDO('mysql:host=' . $host . ';dbname=' . $database, $user, $pass);
}catch(PDOException $e) {
echo 'Could not connect to database: ' . $e->getMessage();
exit;
}cars.php
<?php
include('connect.php'); //only connect once
$sql = 'SELECT * FROM carforsale'; //default query
$parms = array();
$parameters = '';
if (isset($_POST['model'])) {
$sql .= ' WHERE modelName IN ({parameters})'; //adjust query when checkbox was selected
foreach($_POST['model'] as $checkbox) {
$parms[] = $checkbox;
$parameters. = '?,';//forsee a placeholder for this checkbox
}
$parameters = rtrim($parameters, ',');//remove last comma from ?,?,?,
$sql = str_replace('{parameters}', $parameters);//inject parameters when needed
try {
$stmt = $pdo->prepare($sql); //use PDO with prepared statements instead of mysql_query (see comment above)
$stmt->execute($parms); //inject the model name in the parameter ? in the sql if needed
$rows = $stmt->fetchAll(PDO::FETCH_ASSOC);
}catch(PDOException $e) {
echo 'Query failed: ' . $e->getMessage(); //always check SQL errors
exit;
}
$table = '<table border="1">';
$table .= '<tr><th>Manufacturer</th><th>Model</th><th>Price</th></tr>';
foreach($rows as $row) {
$table .= '<tr>';
$table .= '<td>'. $row['manufacturerName'].' </td><td>'.$row['modelName'].'</td><td>'.$row['acquisitionPrice'].'</td>';
$table .= '</tr>';
}
$table .= '</table>';
?>
<!DOCTYPE html>
<html>
<head>
<title>Cars</title>
</head>
<body>
<form action="#" method="POST">
<fieldset>
<input type="checkbox" name="model[]" value="Jetta" />Jetta
<input type="checkbox" name="model[]" value="Laguna" />Laguna
<input type="checkbox" name="model[]" value="Focus" />Focus
<input type="checkbox" name="model[]" value="Tico" />Tico
<input type="checkbox" name="model[]" value="Avensis" />Avensis
<input type="submit" name="submit" value="Register" /> </div>
<input type="hidden" name="submitted" value="TRUE"/>
</fieldset>
</form>
<?= $table ?>
</body>
</html>https://stackoverflow.com/questions/29307574
复制相似问题