无法使用 php 在数据库中插入值

Posted

技术标签:

【中文标题】无法使用 php 在数据库中插入值【英文标题】:Cannot insert the value in database using php 【发布时间】:2016-02-25 12:04:37 【问题描述】:

当我试图通过 php 代码在数据库中插入值时,它没有工作,也没有给出任何错误。这是我尝试执行但未成功的代码。

 <?php
$mysqli = new mysqli("localhost", "admin", "password", "project") or die("couldn't connect to the database");
error_reporting(0);
session_start();
if (!isset($_SESSION["sess_user"])) 
    header("location:index.php");
 else 
    $username = $_SESSION['sess_user'];
    if (isset($_GET['submit'])) 
        if ($_GET['e1'] == "E-LN3465") 
            $productname = $mysqli->real_escape_string($_GET['e1']);
            if ($insert = $db->query("INSERT INTO `cart`(`ID`, `pid`) ((Select `ID` from `users` where `Username`='$username'),(Select `pid` from `product` where `pname`='$productname'))")) 
                $checkQuery = $mysqli->query("INSERT INTO `cart`(`ID`, `pid`) ((Select `ID` from `users` where `Username`='$username'),(Select `pid` from `product` where `pname`='$productname'))");
            
        
    

?>

【问题讨论】:

执行两次查询,$db 在您的代码中没有任何内容,只需将其从您的代码中删除即可 @Calimero 在 INSERT SELECT 语句中不需要 values dev.mysql.com/doc/refman/5.7/en/insert-select.html @Saty 你是对的,我的错,谢谢你的评论。 @Calimero 不客气!我们都在这里学习!! @Saty 但还是没用。 【参考方案1】:

在您的代码$mysqli 变量中存储您的连接对象,并且您正在执行您的查询两次。 $db 在您的代码中没有任何内容,只需将其删除即可

if ($mysqli->query("INSERT INTO `cart`(`ID`, `pid`) ((Select `ID` from `users` where `Username`='$username'),(Select `pid` from `product` where `pname`='$productname'))")) 
         echo "INSERT SUCESSFULLY";
    

更新

将您的查询更改为

INSERT INTO `cart`(`ID`, `pid`)
SELECT users.ID, product.pid 
     FROM users, product
     WHERE users.Username='$username'
     AND product.pname='$productname';

【讨论】:

以上是关于无法使用 php 在数据库中插入值的主要内容,如果未能解决你的问题,请参考以下文章

无法在 mysql 数据库表中显示从 android 应用程序插入的印地语值

无法使用 ajax 将 php 文件插入数据库

无法通过php在mysql表中插入数据

无法将插入的值保存到 tableview 和 mySQL - PHP

无法使用 MySQL 在 python 中插入单列值

Ajax 无法正常工作。 PHP 无法在 SQL 中插入数据