Создать таблицу и вставить значение в тот же PHP-скрипт - PullRequest
0 голосов
/ 13 января 2019

Я пытаюсь создать таблицу и вставить значение в тот же скрипт. Таблица создается, но значения не вставляются.

Я даже пытался жестко закодировать значения и жестко закодировать имя БД, тем не менее, это не сработало.

Это мой код.

<?php

if($_SERVER['REQUEST_METHOD']=='POST'){


$name=$_POST['Name'];
$email=$_POST['Email'];
$phone=$_POST['Phone'];
$password=$_POST['Password'];
$address=$_POST['Address'];
$state=$_POST['State'];

$db=$name.$phone;

require_once('databasesahil.php');


$sql = "CREATE TABLE $db (

phoneno BIGINT(200) NOT NULL ,
name VARCHAR(255) NOT NULL,
email VARCHAR(255) NOT NULL,
password VARCHAR(255) NOT NULL,
address VARCHAR(255) NOT NULL,
state VARCHAR(255) NOT NULL,
productid VARCHAR(255) NOT NULL,
nameitem VARCHAR(255) NOT NULL,
finalprice DOUBLE NOT NULL,
orderno INT(255) NOT NULL,
payment VARCHAR(30) NOT NULL,
deliverystatus VARCHAR(30) NOT NULL
); INSERT INTO $db (phoneno, name, email, password, address, state) VALUES ('$phone','$name','$email','$password','$address','$state');";

if(mysqli_query($con,$sql)){
        echo "Successfully Registered";

 }
else{
        echo "User already exists";
    }

}
mysqli_close($con);
?>

- Спасибо

Ответы [ 2 ]

0 голосов
/ 13 января 2019

Спасибо, ребята, я разобрался с проблемой. Проблема заключалась в том, что я вставлял значения до состояния, после чего все не были нулевыми, пока создавалась БД, я просто удалил те, которые не нулевые. Программа работала. По сути, эти поля были пустыми и не пустыми, не позволяя им вставить значение.

Рабочий код - просто внесите эти изменения в create db: -

$sql = "CREATE TABLE $db (

phoneno BIGINT(200) NOT NULL ,
name VARCHAR(255) NOT NULL,
email VARCHAR(255) NOT NULL,
password VARCHAR(255) NOT NULL,
address VARCHAR(255) NOT NULL,
state VARCHAR(255) NOT NULL,
productid VARCHAR(255) ,
nameitem VARCHAR(255) ,
finalprice DOUBLE ,
orderno INT(255) ,
payment VARCHAR(30) ,
deliverystatus VARCHAR(30)
)";
0 голосов
/ 13 января 2019

Пожалуйста, попробуйте выполнить создание и вставку SQL отдельно, а также есть ошибка в коде -

  1. В операторе вставки об использовании переменной.
  2. Вы создали таблицу со всеми столбцами, не равными NULL, но вы пытаетесь вставить только несколько столбцов.

В качестве примера, пожалуйста, следуйте ниже, надеюсь, это поможет вам.

<?php
require_once('databasesahil.php');
if($_SERVER['REQUEST_METHOD']=='POST'){

$name=$_POST['Name'];
$email=$_POST['Email'];
$phone=$_POST['Phone'];
$password=$_POST['Password'];
$address=$_POST['Address'];
$state=$_POST['State'];
$productid=$_POST['productid'];
$nameitem=$_POST['nameitem'];
$finalprice=$_POST['finalprice'];
$orderno=$_POST['orderno'];
$payment=$_POST['payment'];
$deliverystatus=$_POST['deliverystatus'];

$table_name=$name.$phone;

// sql to create table
$sql = "CREATE TABLE ".$table_name."(phoneno BIGINT(200) NOT NULL ,
name VARCHAR(255) NOT NULL,
email VARCHAR(255) NOT NULL,
password VARCHAR(255) NOT NULL,
address VARCHAR(255) NOT NULL,
state VARCHAR(255) NOT NULL,
productid VARCHAR(255) NOT NULL,
nameitem VARCHAR(255) NOT NULL,
finalprice DOUBLE NOT NULL,
orderno INT(255) NOT NULL,
payment VARCHAR(30) NOT NULL,
deliverystatus VARCHAR(30) NOT NULL
)";

if ($conn->query($sql) === TRUE) {
    echo "Table ".$table_name." created successfully";
} else {
    echo "Error creating table: " . $conn->error;
}

if ($conn->connect_error) {
    die("Connection failed: " . $conn->connect_error);
}

$sql = "INSERT INTO ".$table_name." (phoneno, name, email, password, address, state,productid,nameitem,finalprice,orderno,payment,deliverystatus) VALUES ('".$phone."','".$name."','".$email."','".$password."','".$address."','".$state."','".$productid."','".$nameitem."','".$finalprice."','".$orderno."','".$payment."','".$deliverystatus."');";

if ($conn->query($sql) === TRUE) {
    echo "New record created successfully";
} else {
    echo "Error: " . $sql . "<br>" . $conn->error;
}

$conn->close();
}
?>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...