Php 在将值插入数据库时遇到问题
我试图将这些值插入到我的数据库中,但我遇到了一些问题。我不知道为什么。下面是需要插入的值,下面是我为此编写的当前代码Php 在将值插入数据库时遇到问题,php,html,mysql,database,web,Php,Html,Mysql,Database,Web,我试图将这些值插入到我的数据库中,但我遇到了一些问题。我不知道为什么。下面是需要插入的值,下面是我为此编写的当前代码 <?php include ('db.php'); $cfname=$_POST['c_firstname'] $clname=$_POST['c_lastname']; $address=$_POST['c_address']; $postcode=$_POST['c_postcode']; $mobno=$_POST['c_mobno']; $emailad=$_PO
<?php
include ('db.php');
$cfname=$_POST['c_firstname']
$clname=$_POST['c_lastname'];
$address=$_POST['c_address'];
$postcode=$_POST['c_postcode'];
$mobno=$_POST['c_mobno'];
$emailad=$_POST['c_email'];
$expsttime=$_POST['e_sttime'];
$expendtime=$_POST['e_endtime'];
$expname=$_POST['experience'];
$car1=$_POST['car'];
$driver1=$_POST['driver'];
$host1=$_POST['host'];
$addnewbookingSQL="INSERT into experienceBooking
(firstName, lastName, address, postcode, mobNo, emailAd, expStTime, expEndTime, experienceName, car, driver, host)
values ('".$cfname."','".$clname."','".$address."','".$postcode."','".$mobno."','".$emailad."','".$expsttime."','".$expendtime."','".$expname."','".$car1."','".$driver1."','".$host1."')";
$exeaddnewbookingSQL=mysql_query($addnewbookingSQL);
?>
第4行缺少分号:
$cfname=$_POST['c_firstname'];
提示:
在编写代码时,我总是在php脚本的顶部添加以下内容:
error_reporting(E_ALL);
ini_set('display_errors', '1');
以上内容将帮助您调试代码,特别是获取有错误的行。
在生产模式下进行注释。在您提供的代码中,您有语法错误;您缺少一个
在$cfname=$\u POST['c\u firstname']
之后
但是,您正在使用,应该停止使用。不过,我建议您使用,因为您似乎最熟悉mysqli
函数,所以我为您提供了一个使用较新的mysqli*
函数及以下函数的解决方案
你不是以第四行的分号结尾
另外,您应该像这样修改代码
$addnewbookingSQL="INSERT into experienceBooking values ('".mysql_real_escape_string($cfname)."','".mysql_real_escape_string($clname)."','".mysql_real_escape_string($address)."','".mysql_real_escape_string($postcode.)"','".mysql_real_escape_string($mobno)."','".mysql_real_escape_string($ mailad)."','".mysql_real_escape_string($expsttime)."','".mysql_real_escape_string($expendtime)."','".mysql_real_escape_string($expname)."','".mysql_real_escape_string($car1)."','".mysql_real_escape_string($driver1)."','".mysql_real_escape_string($host1)."')";
if($exeaddnewbookingSQL=mysql_query($addnewbookingSQL));
else
echo mysql_error();
在上面的代码中,mysql\u real\u escape\u string
用于防止sql注入,mysql\u error
用于查询中出现错误的情况。空白屏幕通常表示语法错误。在打开PHP标记后立即将错误报告添加到文件顶部,例如Run或fail,此处没有任何内容会生成屏幕输出。请。它们不再得到维护,而是在使用。而是学习,并使用。你还面临着允许你在你的另一个问题下仍然不接受我的危险-他们只是从来不听,嗯,山姆@然后他们问自己:“我的DB去哪了?”。他们将永远学习;更好的技巧是将这些指令放在php.ini中,这样它们就会一直处于活动状态。在开发/调试系统上,它们永远不应该关闭。如果出现致命的分析错误阻止脚本运行,将它们放在脚本顶部将不会有帮助。没有脚本,没有指令,没有错误输出。@MarcB很好。然而,我们有多少次看到OP无法访问该系统文件;然后呢?爬回床上把被子盖在脸上…?是的,那会更好。最好防止风暴来袭@MarcB@MarcB“永远不要关闭开发/调试系统”我不能同意你的观点。想象一下,由于某种原因,脚本将来会出现问题,用户将可以访问有关系统的宝贵信息,特别是路径。最好“准备”更糟的情况;-)
$addnewbookingSQL="INSERT into experienceBooking values ('".mysql_real_escape_string($cfname)."','".mysql_real_escape_string($clname)."','".mysql_real_escape_string($address)."','".mysql_real_escape_string($postcode.)"','".mysql_real_escape_string($mobno)."','".mysql_real_escape_string($ mailad)."','".mysql_real_escape_string($expsttime)."','".mysql_real_escape_string($expendtime)."','".mysql_real_escape_string($expname)."','".mysql_real_escape_string($car1)."','".mysql_real_escape_string($driver1)."','".mysql_real_escape_string($host1)."')";
if($exeaddnewbookingSQL=mysql_query($addnewbookingSQL));
else
echo mysql_error();