更新済み - ページ全体が含まれています。私が入力の値が渡されていないと言うことができるから、理由は分かりません。私はそれが問題であるかどうかを見るためにすべての入力を改名しました。まだ運はありません。私のmysqli準備文が機能しないのはなぜですか?
<?php
require_once ('include/helper_content/vehicle_data.php');
$action = $_GET['action'];
// Photos
$result3 = mysqli_query($conn,"SELECT * FROM Images WHERE stock='$stock' ORDER BY orderIndex");
while($row3 = mysqli_fetch_array($result3)){
if ($result3) {
$mainPic = '<img src="'.getImgURL($stock,1,"large").'">';
} else {
$mainPic = '<p>No Vehicle Chosen</p>';
}
}
// Which Data to Show?
// Edit data
if($action == "Edit") {
foreach($years as $years){
$selected = ($row['year'] == $years) ? ' selected="selected"' : '';
$Years .= '<option value="'.$years.'"'.$selected.'>'.$years.'</option>';
}
foreach($makes as $makes){
$selected = ($row['make'] == $makes) ? ' selected="selected"' : '';
$Makes .= '<option value="'.$makes.'"'.$selected.'>'.$makes.'</option>';
}
$Models = '<option value="'.$row['model'].'">'.$row['model'].'</option>';
$Trims = '<option value="'.$row['trim'].'">'.$row['trim'].'</option>';
$vehicle = '
<p class="h4-edit">
<select name="year" id="year"><option> </option>'.$Years.'</select>
<select name="make" id="make"><option></option>'.$Makes.'</select>
<select name="model" id="model">'.$Models.'<option></option></select>
<select name="trim" id="trim">'.$Trims.'<option></option></select>
</p>
';
$vin = '<input type="text" name="vin" id="vin" size="20" maxlength="17" value="'.$row['vin'].'">';
$mileage = '<input type="text" name="mileage" id="mileage" size="3" maxlength="6" value="'.$row['mileage'].'">';
// Engine
foreach($cylinders as $cylinders){
$selected = ($row['cylinders'] == $cylinders) ? ' selected="selected"' : '';
$Cylinders .= '<option value="'.$cylinders.'"'.$selected.'>'.$cylinders.'</option>';
}
$engine = '
<input id="liters" name="liters" type="text" maxlength="4" placeholder="liters" value="'.$row['liters'].'"> L.
<select name="cylinders" id="cylinders"><option></option>'.$Cylinders.'</select> cyl
';
// Fuel
foreach($fuel as $fuel){
$selected = ($row['fuel'] == $fuel) ? ' selected="selected"' : '';
$Fuel .= '<option value="'.$fuel.'"'.$selected.'>'.$fuel.'</option>';
}
$fuel = '<select name="fuel" id="fuel"><option></option>'.$Fuel.'</select>';
// Asperation
foreach($asperation as $asperations){
$selected = ($row['asperation'] == $asperations) ? ' selected="selected"' : '';
$Asperation .= '<option value="'.$asperations.'"'.$selected.'>'.$asperations.'</option>';
}
$asperation = '<select name="asperation" id="asperation">'.$Asperation.'</select>';
// Purchase Date
$purchased = '<input type="date" name="purchaseDate" placeholder="00-00-0000" value="'.$row['purchase_date'].'">';
// Flag
foreach($flag as $flag){
$selected = ($row['flag'] == $flag) ? ' selected="selected"' : '';
$Flag .= '<option value="'.$flag.'"'.$selected.'>'.$flag.'</option>';
}
$flag = '<select name="flag" id="flag"><option></option>'.$Flag.'</select>';
// Status
foreach($status as $status){
$selected = ($row['status'] == $status) ? ' selected="selected"' : '';
$Status .= '<option value="'.$status.'"'.$selected.'>'.$status.'</option>';
}
$status = '<select name="status" id="status"><option></option>'.$Status.'</select>';
// Price
$price = '<input type="text" class="dollars" name="price" id="price" placeholder="$" value="'.$row['asking'].'">';
// Dont edit, just show ////////////////////////////////////////////////////////////////////
} else {
if ($row['trim'] != "Base") {
$vehicle = '<h4>'.$row['year'].' '.$row['make'].' '.$row['model'].' '.$row['trim'].'</h4>';
} else {
$vehicle = '<h4>'.$row['year'].' '.$row['make'].' '.$row['model'].'</h4>';
}
$vin = '
<a class="popr" data-id="vinXL">'.$row['vin'].'</a>
<div class="popr-box" data-box-id="vinXL">
<i class="close"></i>
<p class="vin">'.$row['vin'].'</p>
</div>
';
$mileage = number_format($row['mileage']);
$engine = $row['liters'].'l. '.$row['cylinders'].' cyl';
$fuel = $row['fuel'];
$asperation = $row['asperation'];
$purchased = $row['purchased'];
}
?>
<section class="vehicle">
<h3>Vehicle</h3>
<div id="vehicle-info">
<div class="vehicle-thumb"><?php echo $mainPic; ?></div>
<div class="vehicle-data edit">
<div class="trueCost">True Cost: <strong>$<?php echo $cost; ?></strong></div>
<?php echo $vehicle; ?>
<p><label for="vin" class="inline-edit">VIN</label> <?php echo $vin; ?></p>
<p><label for="mileage" class="inline-edit">Mileage</label> <?php echo $mileage; ?></p>
<p><label for="liters" class="inline-edit">Engine</label> <?php echo $engine; ?></p>
<p><label for="fuel" class="inline-edit">Fuel</label> <?php echo $fuel; ?></p>
<p><label for="Asperation" class="inline-edit">Asperation</label> <?php echo $asperation; ?></p>
<p><label for="purchaseDate" class="inline-edit">Purchased</label> <?php echo $purchased; ?></p>
<p><label for="flag" class="inline-edit">Flag</label> <?php echo $flag; ?></p>
<p><label for="status" class="inline-edit">Status</label> <?php echo $status; ?></p>
<p><label for="price" class="inline-edit">Price:</label> <?php echo $price; ?></p>
</div>
</div>
</section>
<?php
if ($_SERVER['REQUEST_METHOD'] == 'POST') {
$conn = new mysqli("*******", "*******", "*******", "*******");
if ($stmt = $conn->prepare("UPDATE Inventory SET year=?, make=?, model=? WHERE stock=?")) {
$stmt->bind_param('issi', $year, $make, $model, $stock);
$year = (int) $_POST['year'];
$make = $_POST['make'];
$model = $_POST['model'];
$stock = $stock;
$stmt->execute(); $mysqli->error;
$stmt->close();
} else {
//Error
printf("Prep statment failed: %s\n", $mysqli->error);
}
}
?>
私はすでにこれに何時間も費やしていますが、何が間違っていますか? phpMyAdminを開いていると、空白の結果が表示されてテーブルが更新されています。フォームからデータを挿入することができません。
if ($_SERVER['REQUEST_METHOD'] == 'POST') {
$conn = new mysqli("**********", "******", "*****", "******");
if ($stmt = $conn->prepare("UPDATE Inventory SET year=?, make=?, model=? WHERE stock=?")) {
$stmt->bind_param('dssd', $year, $make, $model, $stock);
$year=$_POST['year'];
$make=$_POST['make'];
$model=$_POST['model'];
$stmt->execute();
$stmt->close();
} else {
//Error
printf("Prep statment failed: %s\n", $mysqli->error);
}
}
'$ stock'は決してバインドしません。 – OptimusCrime
'$ stock'はどこに定義されていますか? – Machavity
在庫はページの他の場所にあります。私は$株をエコーして表示されます。私はそれを2回しなければなりませんか? –