我只是在学习PHP和SQL,需要一些帮助。如果你知道你在做什么,我相信这是一个非常简单的解决办法,但我还没有。这里有几个类似的问题,但是无法帮助我。
我有一个启动页面,我用5个字段创建。我想在用户点击提交后将这些字段发送到我服务器上的SQL数据库。这是相关的代码:
<form action="insert.php" method="post">
First and last name: <input type="text" name="Name"><br>
Email: <input type="text" name="Email"><br>
Debt owed: <select name="Debt">
<option>Under $5,000</option>
<option>$5001-$15,000</option>
<option>$15,001-$50,000</option>
<option>$50,000+</option>
</select> <br>
Phone Number ex. (555) 123-4567: <input type"text" name="Number"><br>
State: <select name="State">
<option value="" selected="selected">Select a State</option>
<option value="AL">Alabama</option>
<option value="WY">Wyoming</option>
</select> (Some opportunities are based on your state)
<input type="submit">
</form>
所以它调用了insert.php。这就是该文件的样子:
<?php
$con=mysqli_connect("DebtLeads2.db.9463978.hostedresource.com","DebtLeads2", "XXXXXXXXXXXX");
// Check connection
if (mysqli_connect_errno())
{
echo "Failed to connect to MySQL: " . mysqli_connect_error();
}
$sql="INSERT INTO Persons (Name, Email, Debt, Number, State)
VALUES
('$_POST[Name]','$_POST[Email]','$_POST[Debt]','$_POST[Number]','$_POST[State]')";
if (!mysqli_query($con,$sql))
{
die('Error: ' . mysqli_error());
}
echo "1 record added";
mysqli_close($con);
?>
我已经在SQL中用5个字段成功创建了“Persons”表。它正在连接到我的数据库。但是,我收到以下错误,我只是不知道该怎么做。
警告:mysqli_error()预计在第16行/home/content/78/9463978/html/MM/gifts/MonetaryMind/insert.php中给出1个参数0 错误:
我非常感谢你的指导,我在这里拔头发。
答案 0 :(得分:1)
mysqli_error()
应该是:
mysqli_error($con);
另外,mysqli相对于mysql的一个主要优点是它已经准备好了语句,可以防止大多数SQL注入问题。您应该使用它们而不是在查询中插入字符串。
答案 1 :(得分:0)
答案很简单。没有什么可以拉你的头发。
您的朋友会收到错误消息和手册页
你已经有了一条消息,说你打电话mysqli_error()
的方式有问题。
那么,手册页的时间。
打开浏览器,输入php.net/
,然后输入功能名称。几次击键。
现在打开了一个页面http://php.net/mysqli_error 在那里,您可以阅读此函数调用所需的所有信息:
字符串mysqli_error(mysqli $ link)
链接仅限程序样式:mysqli_connect()或mysqli_init()返回的链接标识符
很简单,嗯?