【发布时间】:2014-01-15 14:13:19
【问题描述】:
我无法将下拉列表值(:Artist,文本)转换为其各自的 ID(Artist_ID,num)并将其插入到事件表中。 Venue_ID 也有同样的问题。
<?php
$artist =
'SELECT Artist_ID
FROM artist
WHERE :Artist = Artist_Name
';
$venue =
'SELECT Venue_ID
FROM venue
WHERE :Venue = Venue_Name
';
$stmt = $pdo->prepare(
'INSERT INTO event(Event_Date, Artist_ID, Venue_ID, Price)
VALUES (:Event_Date, $artist, $venue, :Price)');
$stmt->bindparam('Artist_ID', $_POST[$artist], PDO::PARAM_STR);
$stmt->bindparam('Venue_ID', $_POST[$venue], PDO::PARAM_STR);
$stmt->bindparam('Date', $_POST[':Date'], PDO::PARAM_STR);
$stmt->bindparam('Price', $_POST[':Price'], PDO::PARAM_STR);
$stmt->execute();
$newId = $pdo->lastInsertId();
exit;
?>
这是下拉列表的代码:
<select name='Artist' id=':Artist'>
<?php
$stmt = $mysqli->prepare(
'SELECT Artist_Name
FROM artist
ORDER BY Artist_Name');
$stmt->execute();
$stmt->bind_result($Artist);
$stmt->store_result();
while($stmt->fetch())
echo("<option> {$Artist} </option>");
?>
</select>
艺术家和场地表具有分配了主键 ID 的文本值,该主键 ID 与艺术家日期和价格一起存储到事件表中。
任何帮助将不胜感激,谢谢。
【问题讨论】:
-
你能澄清一下哪里出了问题吗?你有什么问题?
-
使用
option标签的value属性:<option value="123">foobar</option>。