首先,我需要,我可以很容易地更新,所以我創建了一個數據庫稱爲 廠家在那裏我列出製造商的形式來選擇的下拉列表。插入數據從下拉到數據庫和PHP
我最後用這個代碼來實現這一點:
<?php
// Connect to the test datbase on localhost
// That's where we created the countries table above
mysql_connect('localhost','##user##','##pass##'); mysql_select_db('wordpress');
// Query the countries table and load all of the records
// into an array.
$sql = 'select * FROM manufacturers';
$res = mysql_query($sql) or die(mysql_error());
while ($rec = mysql_fetch_assoc($res))
$manufacturers[] = $rec;
?>
<form action="select.php" method="post">
<?php
echo '<select name="dropdown">';
foreach ($manufacturers as $c)
{
if ($c['id'] == $_GET['id'])
echo "<option value=\"{$c['meta_id']}\" selected=\"selected\">{$c['meta_value']} </option>\n";
else
echo "<option value=\"{$c['meta_id']}\">{$c['meta_value']}</option>\n";
}
echo '</select>';
?>
<input type="submit" value="Submit" name="submit"/>
</form>
這個工作了偉大的我現在是從我的 數據庫廠商填充的下拉列表。
現在我需要發送這對現有的數據庫調用post_meta以便從那裏我可以永久顯示在用戶的選擇。
我已經嘗試了不同的選擇,但我想使用下面的代碼發送此我post_meta數據庫。
<?php
$con = mysql_connect("localhost","##user##","##pass##");
if (!$con)
{
die('Could not connect: ' . mysql_error());
}
mysql_select_db("wordpress", $con);
$sql="INSERT INTO wp_postmeta (meta_id, post_id, meta_key, meta_value)
VALUES
('$_POST['meta_id']}','$_POST[post_id]','$_POST[meta_key]','$_POST[meta_value]')";
if (!mysql_query($sql,$con))
{
die('Error: ' . mysql_error());
}
echo "1 record added";
?>
這實際上插入數據庫,但不記錄任何值。
請幫我弄清楚我做錯了什麼。
你是認真地對SQL注入攻擊敞開的。您應該考慮使用PDO學習準備好的查詢。另外,'$ _POST ['meta_id']''之後的額外括號是什麼?您是否嘗試過'print_r($ _ POST)'以確保發佈數據到達那裏? – Brad