我是PHP的新手,我试图通过php
在数据库中插入段落我的代码
<html>
<body>
<?php
include("config.php");
$sql= mysql_qurey("INSERT into paragraph (event_head_1, event_1) VALUES
('$_POST[event]', '$_POST[description]' ");
if (!mysqli_query($sql))
{
die('Error: ' . mysqli_error($con));
}
else echo "1 record added";
?>
<table align="left">
<tr>
<td colspan="3"><strong>Paragraph </strong></td><br>
<td>
</td>
</tr>
<td>Event</td>
<td>:</td>
<td><input name="event" name="event" type="text" id="event"></td><br>
</tr>
<tr>
<td>Description</td>
<td>:</td>
<td><textarea name="description" value="description" name="description"></textarea></td>
<td>
</td>
<tr>
<td><input type="submit" name="Submit" value="Submit"></td>
</tr>
</table>
</td>
</form>
</body>
</html>
此程序后出现错误
错误
致命错误:调用未定义的函数mysql_qurey() 第6行的C:\ xampp \ htdocs \ SRK \ admin \ admin.php
请给我一些建议
答案 0 :(得分:0)
您在语句中缺少结束括号:
$sql="INSERT into paragraph (event_head_1, event_1) VALUES
('$_POST[event]', '$_POST[description]') ";
^ that one.
另外,将POST值直接传递给数据库是一种非常糟糕的形式,你应该研究SQL注入并稍微纠正一下 - 但这是一个非常冗长的故事。
你似乎在各种mysql_和mysqli_函数之间也有一些混淆。
答案 1 :(得分:0)
你的代码有很多问题..
mysql_query
不是mysql_qurey()
mysql_*
和mysqli_*
个功能mysql_query
,您也会运行两次查询。此mysql_*
)扩展程序自PHP 5.5.0
起已弃用,将来会被删除。相反,应使用MySQLi
或PDO_MySQL
扩展的准备语句来抵御SQL注入攻击!
答案 2 :(得分:0)
试试这个
<!DOCTYPE html>
<html>
<body>
<?php
include("config.php");
if (isset($_POST["submit"])
{
$event=$_POST['event'];
$desc=$_POST['description'];
$sql= mysql_qurey("INSERT into paragraph (event_head_1, event_1) VALUES
('$event', '$desc' ") or die ("cannot insert".mysql_error());
if ($sql)
{
echo "1 record added";
}
}
?>
<form action="" method="post">
<table align="left">
<tr>
<td colspan="3">
<strong>Paragraph </strong>
</td>
</tr>
<td>Event</td>
<td>:</td>
<td><input name="event" name="event" type="text" id="event"></td><br>
</tr>
<tr>
<td>Description</td>
<td>:</td>
<td>
<textarea name="description" value="description" name="description"></textarea> </td>
<tr>
<td colspan="3"><input type="submit" name="submit" value="Submit"></td>
</tr>
</table>
</form>
</body>
</html>
答案 3 :(得分:0)
您还错过了一个开放的<form>
代码并执行了mysqli_query
两次并且name="description"
和name="event"
两次。
假设您在数据库连接中使用基于mysqli_*
的函数,因为您在if (!mysqli_query($sql))
中使用它。
你有点混合你的SQL API mysqli_*
和mysql_*
从您想要使用的mysql_qurey
这是一个拼写错误,如果任何内容,应该读作mysql_query
。
使用mysqli_query
。
但是,这样做会让您对SQL injection开放。
<html>
<body>
<?php
include("config.php");
if(isset($_POST['Submit'])){
$sql= "INSERT into paragraph (event_head_1, event_1) VALUES
('$_POST[event]', '$_POST[description]'");
if (!mysqli_query($con,$sql))
{
die('Error: ' . mysqli_error($con));
}
else { echo "1 record added"; }
}
?>
<form action="" method="post">
<table align="left">
<tr>
<td colspan="3"><strong>Paragraph </strong></td><br>
<td>
</td>
</tr>
<td>Event</td>
<td>:</td>
<td><input name="event" type="text" id="event"></td><br>
</tr>
<tr>
<td>Description</td>
<td>:</td>
<td><textarea value="description" name="description"></textarea></td>
<td>
</td>
<tr>
<td><input type="submit" name="Submit" value="Submit"></td>
</tr>
</table>
</td>
</form>
</body>
</html>
旁注:您目前的代码向SQL injection开放。使用prepared statements或PDO