2015-11-23 6 views
2

Comme j'essaye d'insérer la valeur dans la base de données par le code de php mais cela n'a pas fonctionné et aussi cela n'a donné aucune erreur. Voici le code que j'avais essayé d'exécuter mais pas réussi.Impossible d'insérer la valeur dans la base de données en utilisant 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'))"); 
      } 
     } 
    } 
} 
?> 
+0

Exécuter la requête deux fois et 'db' de $ rien dans votre code retirer juste formez votre code – Saty

+1

@Calimero pas besoin de 'values' dans l'instruction INSERT SELECT http://dev.mysql.com/doc/refman/5.7/en/insert-select.html – Saty

+0

@Saty vous avez raison, mon mauvais, Merci pour votre commentaire. – Calimero

Répondre

2

Dans votre code $mysqli stocker votre objet de connexion et vous exécutez votre requête deux fois. $db est rien dans votre code juste enlever

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"; 
    } 

MISE À JOUR

Changer votre requête

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