我有一个现有的表,我试图从表单提交插入数据。问题试图用php将数据插入MySQL表
我想我需要另一组眼睛来查看我的代码。有一个问题,在这一点上,我不知道是什么。
我填写表格,它似乎提交,我检查表,我什么也得不到。没有数据被插入。
如果某些值现在没有被使用,是否可以阻止数据被插入到表中?不应该插入表单上的表单输入吗?我试图只使用表单中的值,但仍然无效。
例如,现在表单输入仅适用于第一个,最后一个,标题,流派,关于和图片。其余的只存在于表格中。目前无法输入剩余字段的数据。
希望有人有解决方案?
$servername = "server";
$username = "user";
$password = "pass";
$dbname = "db";
if (isset($_POST['submit'])){
$conn = mysqli_connect($servername,$username,$password,$dbname);
if (!$conn) {
die("Connection failed: " . mysqli_error());
}
$first = mysqli_real_escape_string($conn, $_POST['First']);
$last = mysqli_real_escape_string($conn, $_POST['Last']);
$title = mysqli_real_escape_string($conn, $_POST['Title']);
$storylink = mysqli_real_escape_string($conn, $_POST['StoryLink']);
$genre = mysqli_real_escape_string($conn, $_POST['Genre']);
$about = mysqli_real_escape_string($conn, $_POST['About']);
$link = mysqli_real_escape_string($conn, $_POST['Link']);
$picture = mysqli_real_escape_string($conn, $_POST['Picture']);
$alt = mysqli_real_escape_string($conn, $_POST['ALT']);
$sql = "INSERT INTO ContrTemp (`First`,`Last`,`Title`,`StoryLink`,`Genre`,`About`,`Link`,`Picture`,`ALT`)
VALUES ('$first','$last','$title','$storylink','$genre','$about','$link','$picture','$alt')";
mysqli_query($conn, $sql) or die('Error: ' . mysqli_error($conn));
mysqli_close($conn);
}
这是窗体中的一个输入字段。其他人几乎相同。
<input type="text" id="ContrTitle" name="Title" placeholder="Title" class="inputFields" style="width:650px;" />
问题是否可以在输入内的名称问题?
SQL表结构:
CREATE TABLE IF NOT EXISTS `ContrTemp` (
`ID` int(5) NOT NULL AUTO_INCREMENT,
`First` varchar(40) COLLATE utf8_unicode_ci NOT NULL,
`Last` varchar(40) COLLATE utf8_unicode_ci NOT NULL,
`Title` varchar(50) COLLATE utf8_unicode_ci NOT NULL,
`StoryLink` varchar(140) COLLATE utf8_unicode_ci NOT NULL,
`Genre` varchar(11) COLLATE utf8_unicode_ci NOT NULL,
`About` varchar(2000) COLLATE utf8_unicode_ci NOT NULL,
`Link` varchar(125) COLLATE utf8_unicode_ci NOT NULL,
`Picture` varchar(500) COLLATE utf8_unicode_ci NOT NULL,
`ALT` varchar(100) COLLATE utf8_unicode_ci NOT NULL,
PRIMARY KEY (`ID`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci AUTO_INCREMENT=1 ;
现在我居然打了数据库,记录显示,但插入任何数据。之前,根本没有插入记录。
你已经通过'musqli_connect'连接你的数据库,所以不需要'mysqli_select_db($ conn,$ dbname);'echo你的'$ sql'并运行'phpmyadmin'来检查什么是问题。 –
请回显您的$ sql查询并运行到phpmyadmin。 –
我收到此错误:您的SQL语法有错误;检查与您的MySQL服务器版本相对应的手册,以便在'$ sql =“附近使用正确的语法。在行处插入ContrTemp('First','Last','Title','StoryLink','Genre','' 1 – Marlon