mysql — создает базу данных с php, но не отображается в phpmyadmin

Я делаю сайт, где студент может заполнить форму, и ответы будут храниться в базе данных.

Я сделал php, и он говорит, что он работает, но когда я смотрю на PhpMyAdmin, он не появляется.

Что я делаю неправильно?

Я надеюсь, что вы можете мне помочь.

PHP-файл:

    <?php
$dbHost = "localhost";          //Location Of Database - usually it's "localhost"$dbUser = "root";               //Database User Name
$dbPass = "";                   //Database Password
$dbDatabase = "hr";             //Database Name
$naam = $_POST['name'];         //Name User
$naam2 = $_POST['name2'];
$naamtbl = $naam."_beoor_".$naam2;
$date = date("Y-m-d H:i");

echo($date."<br/>");

//get answers
$C_KVW = $_POST['cijfer_KVW'];
$TL_KVW = $_POST['TL_KVW'];
$C_AW = $_POST['cijfer_AW'];
$TL_AW = $_POST['TL_AW'];
$C_FB = $_POST['cijfer_FB'];
$TL_FB = $_POST['TL_FB'];
$C_WC = $_POST['cijfer_WC'];
$TL_WC = $_POST['TL_WC'];
$C_ST = $_POST['cijfer_ST'];
$TL_ST = $_POST['TL_ST'];
$C_CF = $_POST['cijfer_CF'];
$TL_CF = $_POST['TL_CF'];
$C_OP = $_POST['cijfer_OP'];
$TL_OP = $_POST['TL_OP'];
$C_IN = $_POST['cijfer_IN'];
$TL_IN = $_POST['TL_IN'];
$C_NA = $_POST['cijfer_NA'];
$TL_NA = $_POST['TL_NA'];
$C_OB = $_POST['cijfer_OB'];
$TL_OB = $_POST['TL_OB'];

$db = mysql_connect($dbHost,$dbUser,$dbPass)or die("Error connecting to database!");
mysql_select_db($dbDatabase, $db)or die("Couldn't select the database!");
$sql = "CREATE TABLE $naamtbl( ".
"id INT NOT NULL AUTO_INCREMENT, ".
"naam_filler VARCHAR(20) NOT NULL, ".
"naam VARCHAR(20) NOT NULL, ".
"cijfer_KVW VARCHAR(20) NOT NULL, ".
"TL_KVW VARCHAR(20) NOT NULL, ".
"cijfer_AW VARCHAR(20) NOT NULL, ".
"TL_AW VARCHAR(20) NOT NULL, ".
"cijfer_FB VARCHAR(20) NOT NULL, ".
"TL_FB VARCHAR(20) NOT NULL, ".
"cijfer_FO VARCHAR(20) NOT NULL, ".
"TL_FO VARCHAR(20) NOT NULL, ".
"cijfer_SW VARCHAR(20) NOT NULL, ".
"TL_SW VARCHAR(20) NOT NULL, ".
"cijfer_WC VARCHAR(20) NOT NULL, ".
"TL_WC VARCHAR(20) NOT NULL, ".
"cijfer_ST VARCHAR(20) NOT NULL, ".
"TL_ST VARCHAR(20) NOT NULL, ".
"cijfer_CF VARCHAR(20) NOT NULL, ".
"TL_CF VARCHAR(20) NOT NULL, ".
"cijfer_OP VARCHAR(20) NOT NULL, ".
"TL_OP VARCHAR(20) NOT NULL, ".
"cijfer_IN VARCHAR(20) NOT NULL, ".
"TL_IN VARCHAR(20) NOT NULL, ".
"cijfer_NA VARCHAR(20) NOT NULL, ".
"TL_NA VARCHAR(20) NOT NULL, ".
"cijfer_OB VARCHAR(20) NOT NULL, ".
"TL_OB VARCHAR(20) NOT NULL, ".
"date_time DATE, ".
"PRIMARY KEY ( id )); ";
if($sql){
echo("Gelukt");
}else{
echo("Error");
}
?>

-1

Решение

Причина, по которой ничего не меняется в вашей базе данных, заключается в том, что вы просто устанавливаете строку, содержащую — очень рискованный и SQL-запрос открытия — но вы фактически не выполняете запрос.

Но на самом деле нет причин создавать новую таблицу для каждого учащегося, если все столбцы все время одинаковы. Просто добавьте столбец с именем или, что лучше, ID, который ссылается на другую таблицу, которая содержит имена, и создайте таблицу один раз.

И вам следует переключиться на более современный (не устаревший …) интерфейс базы данных, такой как PDO или mysqli, который позволит вам использовать подготовленные операторы.

1

Другие решения

Попробуйте выполнить это до выражения «IF»:

mysql_query("CREATE DATABASE hr") or die(mysql_error());
mysql_query($sql) or die(mysql_error());

Теперь вам не нужно if, потому что, если произошла ошибка, «die (mysql_error ())» остановит скрипт и выведет его.

0

Проблема в том, что вы не выполняете SQL
поэтому вы не видите таблицу в своей базе данных:

if(mysql_query($sql)){
echo("Gelukt");
}else{
echo("Error:". mysql_error());
}

Кстати, функции mysql устарели, и я предлагаю вам начать использовать mysqli
Почему я не должен использовать функции mysql_ * в PHP?

0
По вопросам рекламы [email protected]