【发布时间】:2023-04-11 12:23:01
【问题描述】:
我在每一行都有一个文本框和一个下拉框。
现在我想在文本框中输入一些日期并在下拉列表中选择一些值。
当我点击它应该被保存到数据库中。
我该怎么做?
这是我的代码
php插入代码: 当我点击提交这个php代码应该
<?php
mysql_connect("localhost", "tiger", "tiger") or die(mysql_error());
mysql_select_db("theaterdb") or die(mysql_error());
$query = mysql_query("INSERT INTO movie (movie_name,language) VALUES('$_POST[Fname]','$_POST[language]') ") or die(mysql_error());
?>
下拉是动态生成的
代码:
function create(param) {
'use strict';
var i, target = document.getElementById('screens');
target.innerHTML = '';
for(i = 0; i < param; i += 1) {
target.innerHTML +='</br>';
target.innerHTML +='New Movie '+i+' ';
target.innerHTML += '<input type="text" name="Fname">';
target.innerHTML +=' '+'Language '+' ';
target.innerHTML += "<?php
try {
$dbh = new PDO('mysql:dbname=theaterdb;host=localhost','tiger','tiger');
} catch (PDOException $e) {
echo 'Connection failed: ' . $e->getMessage();
}
$sql = 'SELECT language FROM languages;';
$sth = $dbh->prepare($sql);
$sth->execute();
echo "<select name='language' id='course'>";
echo "<option>----Select Language----</option>";
while($row = $sth->fetch(PDO::FETCH_ASSOC)) {
echo "<option value='" . $row['language'] ."'>" . $row['language']. "</option>";
}
echo "</select>";
?>";
target.innerHTML +='</br>';
target.innerHTML +='</br>';
}
}
用户界面看起来像这样......
【问题讨论】:
-
你现在做事的方式很容易受到 SQL 注入的影响! 永远不要将您的帖子值直接放在您的查询中!使用 mysql_real_escape_string 转义它们或开始使用 PDO 或 mysqli!
-
@Bono,最好不要
mysql_really_escape_me_please_perhaps_string,见this issue。 PDO or prepared statements 代替。 -
@Bruno 不用告诉我,我随时都会选择 PDO,但他可能不会。所以他至少应该做的是逃跑。
标签: php javascript html mysql ajax