2015-11-23 4 views
2

Как я пытаюсь вставить значение в базу данных через php-код, но это не сработало, и оно также не дало никаких ошибок. Вот код, который я пытался выполнить, но не удалось.Невозможно вставить значение в базу данных, используя 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

выполнить запрос два времени и '$ db' ничего в коде просто удалите его сформируйте свой код – Saty

+1

@Calimero не нужно 'values' в инструкции INSERT SELECT http://dev.mysql.com/doc/refman/5.7/en/insert-select.html – Saty

+0

@ Сати, вы правы, мои плохие, Спасибо за ваш комментарий. – Calimero

ответ

2

В вашем коде $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'; 
Смежные вопросы