我正在尝试从我创建的一个简单的联系人表单中插入数据。我正在使用phpMyAdmin
下面是PHP(出于安全考虑,我删除了define语句,但我可以毫无问题地建立到数据库的链接。)
<?php
if (isset($_POST['submitted'])){
define('DB_NAME', '');
define('DB_USER', '');
define('DB_PW', '');
define('DB_HOST', '');
$link = mysqli_connect(DB_HOST, DB_USER, DB_PW, DB_NAME);
if(!$link){
die('Test Connection Failed 1: ' . mysql_error());
}
//Name
$FName = $_POST['FName'];
$FName = mysqli_real_escape_string($link, $FName);
$LName = $_POST['LName'];
$LName = mysqli_real_escape_string($link, $LName);
//Phone
$Phone1 = $_POST['Phone1'];
$Phone2 = $_Post['Phone2'];
$Phone3 = $_Post['Phone3'];
$Phone = $Phone1.$Phone2.$Phone3;
$Phone = mysqli_real_escape_string($link, $Phone);
//Address
$Street = $_POST['Street'];
$Street = mysqli_real_escape_string($link, $Street);
$City = $_POST['City'];
$City = mysqli_real_escape_string($link, $City);
$Zip = $_POST['Zip'];
$Zip = mysqli_real_escape_string($link, $Zip);
$Country = $_POST['Country'];
$Country = mysqli_real_escape_string($link, $Country);
//Message
$Message = $_POST['Message'];
$Message = mysqli_real_escape_string($link, $Message);
//Email
$Email = $_POST['Email'];
$Email = mysqli_real_escape_string($link, $Email);
$sqlInsert = "INSERT INTO phpmy1_belairfinishing_com.Contact (ID, FName, LName, Phone, Street, City, State, Country, Zipcode, Email, Message) VALUES (NULL, '".$FName."', '".$LName."', '".$Phone."'', '".$Street."'', '".$City."'', '".$State."'', '".$Country."'', '".$Zipcode."'', '".$Email."'', '".$Message."')";
if(!mysqli_real_query($link, $sqlInsert)){
die('SLQ Insert Statement Failed: ' . mysql_error());
} else {
echo "Posted To Database";
mysqli_close($link);
}
} //End of ISSET if statement
?>
当有人点击论坛上的submit按钮后,代码就会运行,据我所知,这是正常工作的。
该错误发生在php代码的末尾。正在输出“SLQ Insert Statement FAILD”,但未发布mysql错误。
if(!mysqli_real_query($link, $sqlInsert)){
die('SLQ Insert Statement Failed: ' . mysql_error());
}
我的数据库/表的设置如下:数据库名=phpmy1_belairfinishing_com表名=Contact列名与insert语句中的列名完全相同。
如有任何帮助,我们将不胜感激!
编辑:下面是表结构,如果有助于列类型
ID tinyint(4)
FName varchar(75)
LName varchar(75)
电话int(11)
街道文本
城市文本
州文本
国家文本
邮编int(10)
电子邮件varchar(75)
消息文本
我尝试输入的值是NULL Tim Smite 111-111-1111 1 random street random city random state United States randomemail@gmail.com randomMessage
顺便说一下,只是一个想法。
您不使用mysqli_stmt_bind_param
http://php.net/manual/en/mysqli-stmt.bind-param.php
但请使用mysqli_real_escape_string
http://php.net/manual/en/function.mysql-real-escape-string.php
来清理您的VLUE(但mysqli_stmt_bind_param确实是更好的实践)。
所以请在doc中查看此通知:
**Caution**
Security: the default character set
The character set must be set either at the server level, or with the API function mysql_set_charset() for it to affect mysql_real_escape_string(). See the concepts section on character sets for more information.
我忙于一项学校作业,我有一个由三个表组成的基本access数据库。Book、Reader和BookRated,其中as BookRated是交集表,主键userName来自Reader和ISBN来自Book组成BookRated的复合主键(作为外键)。 我正试图将信息插入书签表中,但出现以下错误
问题内容: 我有以下要存储在数据库中的数组… 我试图搜索谷歌上如何做到这一点,我所能找到的是表明插入数组之前需要对数组进行拆分的信息。它是否正确?抱歉,天真,对于php来说还很陌生。 问题答案: 您不能直接将数组插入 mysql, 因为 mysql 无法 识别php 数据类型。 Mysql 只了解 SQL 。因此,要将数组插入mysql数据库,必须将其转换为sql语句。可以手动或通过库来完成。输出
本文向大家介绍Android 将数据插入数据库,包括了Android 将数据插入数据库的使用技巧和注意事项,需要的朋友参考一下 示例
问题内容: 我使用Google Maps API制作了一个非常简单的页面,其中有几个字段,用户将在其中放置一些数据。看起来像- http://aiworker2.usask.ca/marker_field_db.html 我要做的是使用javascript / Ajax将数据存储到MySQL数据库中。我发现了几个使用Jquery的示例。我是这个javascript / Ajax / Jquery平
我有一个postgres数据库,包含一个名为“users”的表。该表有四个字段: id BIGSERIAL主键 显示名称文本不为空, 电子邮件文本不为空 电话号码文本 我想从dart代码中添加数据。我的尝试是这样的: 问题是我遇到了一个例外 (PostgreSQLSeverity.error 42601:在“display_name”处或附近出现语法错误)
我是mysql和php的初学者。在这个问题上陷入了困境。不知道问题出在哪里。但是如果我直接执行insert查询,它就会被执行,而如果我从用户那里接受它,它就不会被执行(代码中显示了这一点)。可能问题出在我用来检索用户提交的值的$\u POST[]方法上。我已经提交了两个代码,addbooks。php(用户提交值的表单)和add。php(插入数据库)。