我用表格编写了一个代码:
<form method="post">
<table>
<tr>
<td style="text-align:right">Artista:</td>
<td><input type="text" name="artist" /></td>
</tr>
<tr>
<td style="text-align:right">Titulo:</td>
<td><input type="text" name="title" /></td>
</tr>
<tr>
<td style="text-align:right">Capa (link):</td>
<td><input type="text" name="cover" /></td>
</tr>
<tr>
<td colspan="2">
<center>
<input type="submit" style="margin-top:20px" />
</center>
</td>
</tr>
</table>
</form>
然后我写了一些php来获取表单上的信息并将其放在mySQL数据库中。
if (isset($_POST['submit'])){
$dbhost = 'HOST';
$dbuser = 'USER';
$dbpass = 'PASS';
$conn = mysql_connect($dbhost, $dbuser, $dbpass);
$artist = strtoupper($_POST[artist]);
$title = strtoupper($_POST[title]);
$cover = $_POST[cover];
if(! $conn )
{
die('Could not connect: ' . mysql_error());
}
$sql = "INSERT INTO 'MusicList'('artist', 'title', 'cover', 'votes') VALUES ('".$artist."', '".$title."', '".$cover."', 0)";
mysql_select_db('DATABASE_NAME');
$retval = mysql_query( $sql, $conn );
if(! $retval )
{
die('Could not enter data: ' . mysql_error());
}
echo "<center><h1>Success!</h1></center>";
mysql_close($conn);
}
然而,似乎出现了问题,因为它没有在SQL上写任何东西。你能告诉我我写错了什么吗?
答案 0 :(得分:1)
将MusicList
周围的单引号更改为反引号,并删除列名称周围的单引号,如下所示:
$sql = "INSERT INTO `MusicList`(artist, title, cover, votes) VALUES ('".$artist."', '".$title."', '".$cover."', 0)";
SQL不会期待这里的引用。
同样Fred指出,你需要命名你的提交按钮,否则if语句将永远是假的。
类似于:
<input type="submit" name="submit_button" style="margin-top:20px" />
并将if语句更改为:
if (isset($_POST['submit_button'])){