PHP执行代码,但没有向数据库中插入任何内容

PHP执行代码,但没有向数据库中插入任何内容,php,mysql,Php,Mysql,我已经创建了一个receival表来存储用户的信息。但是这些值不会被插入到数据库中。 这是我与数据库和sql语句的连接,用于插入用户将发布的值。 $host="localhost"; // Host name $username="root"; // Mysql username $password="l3tme1N@123"; // Mysql password $db_name="shipping_pro"; // Database name $tbl_name="receiver

我已经创建了一个receival表来存储用户的信息。但是这些值不会被插入到数据库中。 这是我与数据库和sql语句的连接,用于插入用户将发布的值。
$host="localhost"; // Host name 
$username="root"; // Mysql username 
$password="l3tme1N@123"; // Mysql password 
$db_name="shipping_pro"; // Database name  
$tbl_name="receiver"; // Table name 

// Connect to server and select database.
$con = mysql_connect("$host", "$username", "$password")or die("cannot 
connect"); 
if(!$con){
die ('cannot connect to the server')
}
if (!mysql_select_db("$db_name", $con))
{
echo"no db selected";
}

if(isset($_POST['save']))
{
$name = $_POST['name'];
$cc = $_POST['cc'];
$sender = $_POST['sender-name'];
$address=$_POST['address'];
$tracker = $_POST['tracker'];
$code_phone = $_POST['code_phone'];
$phone = $_POST['phone'];
$code_phone1 = $_POST['code_phone1'];
$telefono = $_POST['telefono'];


$sql1="INSERT INTO 'receival' (name,idcard,sender-name,address,tracker, 
receiver-telnum, sender-telnum) VALUES  
('$name','$cc','$sender','$address', '$tracker', '$code_phone$phone', 
'$code_phone1$telefono')";
$result = mysql_query($con,$sql1);
} 
?>
html代码

这是我为获取用户输入而创建的表单

我已经在这里和谷歌上查看了大多数解决方案,但仍然找不到任何解决方案

<form action="receive.php"  method="post" class="form-horizontal" data- 
parsley-validate novalidate >
<div class="form-group " id="gnombre">
<label for="office" class="col-sm-2 control-label">Name of Recipient</label>
<div class="col-sm-10">
<input type="text" class="form-control office" parsley-trigger="change" 
required name="name"  placeholder="Name of Recipient">
</div>                                  
</div>
<div class="form-group " id="gnombre">
<label for="officer_name" class="col-sm-2 control-label"><?php echo $CEDULA; 
?></label>
<div class="col-sm-10">
<input type="number" class="form-control officer_name" parsley- 
trigger="change" required name="cc"  placeholder="<?php echo $numbercedula; ? 
>">
</div>
</div>
<div class="form-group " id="gnombre">
<label for="officer_name" class="col-sm-2 control-label">Sender</label>
<div class="col-sm-10">
<input type="text" class="form-control officer_name" iparsley- 
trigger="change" required name="sender-name"  placeholder="Name of Sender">
</div>
</div>  
<div class="form-group" id="gapellido">
<label for="address" class="col-sm-2 control- 
label"><?php echo $direccion; ?></label>
<div class="col-sm-10">
<input type="text" class="form-control address" parsley-trigger="change" 
required name="address"   placeholder="Receiver Address">
                                </div>
                          </div>
                          <div class="form-group" id="gapellido">
                                <label for="address" class="col-sm-2 control-label">Tracker Number</label>
                                <div class="col-sm-10">
                                 <form name="form2" action="" method="">
                                                    <!--<strong><?php echo $codeproducto; ?></strong><br> -->
                                                    <input type="text" autofocus list="browsers" name="" autocomplete="off" class="form-control" required>
                                                    <datalist id="browsers">
                                                        <?php
                                                            $pa=mysql_query("SELECT tracking FROM  courier 
                                                            ");             
                                                            while($row=mysql_fetch_array($pa)){
                                                                echo '<option value="'.$row['tracking'].'">';
                                                            }
                                                        ?> 
                                                    </datalist>

                                </div>
                          </div>
                          <div class="form-group" id="ptelefonos">
                                <label for="address" class="col-sm-2 control-label"><?php echo $telefono; ?></label>
                                <div class="col-sm-4">
                                    <select type="number" class="form-control ph_no" parsley-trigger="change" required name="code_phone" placeholder="<?php echo $telefonocustomer2; ?>">

                                        <option data-countrycode="GH" value="233">Ghana (+233)</option>

                                    </select>                                                                       
                                </div>
                                <div class="col-sm-6">
                                    <input type="number" class="form-control ph_no" parsley-trigger="change" required name="phone" placeholder="Receiver's Phone Number">   
                                </div>
                            </div>  
                            <div class="form-group" id="ptelefonos">
                            <label for="address" class="col-sm-2 control-label"><?php echo $telefono; ?></label>                                
                                <div class="col-sm-4">
                                    <select type="number" class="form-control ph_no" parsley-trigger="change" required name="code_phone1" placeholder="Sender's phone Number">

                                        <option data-countrycode="GH" value="233">Ghana (+233)</option>

                                    </select>                                                                       
                                </div>
                                <div class="col-sm-6">
                                    <input type="number" class="form-control ph_no" parsley-trigger="change" required name="telefono" placeholder="Sender's phone Number">
                                </div>
                          </div>
                          <div class="modal-footer">
                        <button type="button" class="btn btn-default" data-dismiss="modal"><i class="fa fa-times"></i>
                        <?php echo $cerrar; ?></button>
                        <input class="btn btn-success" name="save" type="submit"  id="submit" value="Save">
                       </div>
                    </form>

收件人姓名

请尝试此代码,您需要用receival替换“receival”:

 $host="localhost"; // Host name 
    $username="root"; // Mysql username 
    $password="l3tme1N@123"; // Mysql password 
    $db_name="shipping_pro"; // Database name  
$tbl_name="receiver"; // Table name 

// Connect to server and select database.
$con = mysql_connect("$host", "$username", "$password")or die("cannot 
connect"); 
if(!$con){
die ('cannot connect to the server')
}
if (!mysql_select_db("$db_name", $con))
{
echo"no db selected";
}

if(isset($_POST['save']))
{
$name = $_POST['name'];
$cc = $_POST['cc'];
$sender = $_POST['sender-name'];
$address=$_POST['address'];
$tracker = $_POST['tracker'];
$code_phone = $_POST['code_phone'];
$phone = $_POST['phone'];
$code_phone1 = $_POST['code_phone1'];
$telefono = $_POST['telefono'];


$sql1="INSERT INTO receival (name,idcard,sender-name,address,tracker, 
receiver-telnum, sender-telnum) VALUES('$name','$cc','$sender','$address', '$tracker', '$code_phone$phone', 
'$code_phone1$telefono')";
$result = mysql_query($con,$sql1);
} 
?>

评论中已经指出,您必须在准备好的语句中使用mysqli_*或PDO。因此,我将只看一看您最微不足道的错误(假设它是唯一的错误)

您的insert查询有许多错误:未正确插入值,并且表名用引号括起来。 将其更改为:

$sql1="INSERT INTO receival (name,idcard,sender-name,address,tracker, 
receiver-telnum, sender-telnum) VALUES  
('$name','$cc','$sender','$address', '$tracker', '$code_phone.$phone', 
'$code_phone1.$telefono')";

这将修复它并使插入工作正常。

为什么要使用长期不推荐使用的
mysql\uquot/code>代码库?它在许多年前就已经停止使用,并在PHP7中被完全删除。不应使用此库编写新代码。它使您容易受到SQL注入攻击(由于缺少参数化查询支持)和其他潜在的未修补漏洞的攻击。尽快切换到使用
mysqli
PDO
,然后学习如何编写参数化查询以保护数据免受恶意输入。有关风险的简单解释和一些安全编写查询的示例PHP代码,请参阅。此外,千万不要让web应用以root用户身份登录数据库。Root可以做任何它喜欢的事情,所以除了SQL注入漏洞之外,这只会让您的数据库成为黑客们的一本打开的书。而是专门为此应用程序创建一个单独的用户帐户,该应用程序仅具有正常工作所需的权限。甚至不要这样做这是开发或测试期间的一种快捷方式,因为您还需要测试您的帐户权限-否则,当您上线时,您可能会遇到与用户帐户设置相关的意外错误。无论如何,问题出在哪里?您的表单是否正确发送数据?检查浏览器网络工具中的请求以查看发送的值。服务器是否正确接收这些值?Do
var\u dump($\u POST)以查看提交的值。你的提问成功了吗?检查
$result
-如果
为false
则查询失败,您可以使用
echo mysql\u error($con)
以获取错误消息。看见您应该学习如何以与此类似的方式调试代码,以缩小问题的根源。
INSERT-INTO'receival'
应该是
INSERT-INTO-receival
?@ADyson我使用了PDO并最终完成了它。在调试期间,我发现我的列名中有连字符,这就是为什么我的查询没有运行。非常感谢。