Fexxi Ответов: 3

Почему мой запрос mysqli не работает?


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

<pre>function AddSpider(){
    global $connection;
    
    $db_create = "CREATE DATABASE IF NOT EXISTS new_spiders; ";
    $select_db =   mysqli_select_db ($connection, 'new_spiders');
    $tblCreate = "CREATE TABLE my_spiders (genus varchar(80), species varchar(80), name varchar(100), ";
    $tblCreate .= "temper varchar(!00), lstFed varchar(10), lstMolt varchar(10), lstSub varchar(10), ";
    $tblCreate .= "maxTemp varchar(3), minTemp varchar(3), maxHum varchar(3), minHum varchar(3), notes varchar (240))";
   }
?>


Что я уже пробовал:

Я был в Google, пробовал новые базы данных и пробовал меньше таблиц.

3 Ответов

Рейтинг:
25

OriginalGriff

Вероятно, потому, что создание строк не приводит к их отправке в MySql и выполнению.
Вы формируете строку $tblCreate но вы ничего с ним не делаете...


[no name]

Я ПОНЯЛ! "характер варчара(!00)". Спасибо.

Рейтинг:
20

Richard Deeming

Вы объявляете строки для хранения ваших SQL-запросов, но никогда не выполняете их.

function AddSpider(){
    global $connection;
    
    $db_create = "CREATE DATABASE IF NOT EXISTS new_spiders; ";
    mysqli_query($connection, $db_create);
    
    $select_db =   mysqli_select_db ($connection, 'new_spiders');
    
    $tblCreate = "CREATE TABLE IF NOT EXISTS my_spiders (genus varchar(80), species varchar(80), name varchar(100), ";
    $tblCreate .= "temper varchar(!00), lstFed varchar(10), lstMolt varchar(10), lstSub varchar(10), ";
    $tblCreate .= "maxTemp varchar(3), minTemp varchar(3), maxHum varchar(3), minHum varchar(3), notes varchar (240))";
    mysqli_query($connection, $tblCreate);
}
?>


[no name]

Я ПОНЯЛ! "характер варчара(!00)". Спасибо.

Рейтинг:
0

Fexxi

Вы оба правы. Я держал его там в какой-то момент и, должно быть, избавился от него где-то в конце линии, пытаясь исправить его. Я изменил свой код и получаю ошибку от mysqli_error, так что, по крайней мере, теперь я знаю, что это мой SQL-запрос. Я думаю, что в какой-то момент я ошибся в конкатенации. Новый кодекс:

function AddSpider(){
    global $connection;
    
    $db_create = "CREATE DATABASE IF NOT EXISTS new_spiders; ";
    $select_db =   mysqli_select_db ($connection, 'new_spiders');
    $tblCreate = "CREATE TABLE my_spiders (genus varchar(80), species varchar(80), name varchar(100), ";
    $tblCreate .= "temper varchar(!00), lstFed varchar(10), lstMolt varchar(10), lstSub varchar(10), ";
    $tblCreate .= "maxTemp varchar(3), minTemp varchar(3), maxHum varchar(3), minHum varchar(3), notes varchar (240))";
    $result = mysqli_query($connection, $tblCreate);
    if(!$result){
        die(mysqli_error($connection));
    }