Доступ к mysql через php скрипт в linux

165
23 августа 2021, 17:50

Решил наконец освоить что-то новое, перешел на linux. Перенёс файлы проекта на ноутбук, развернул xampp, открываю проект, и вижу, что данные из таблиц не подгружаются:

Код вот, в файле index.php:

Первое, что сделал:

sudo chmod +x index.php

К результату не привело. Остальные скрипты работают. При входе на страницу запускается php-скрипт, который создает необходимые базы данных и таблицы:

Но, сам index.php не исполняется.

P.S.: система kubuntu, настройки phpmyadmin не менял (стандартные в xampp - login: 'root', pwd: '')

UPD: пока писал, решил проверить внутренности таблиц и они пустые.

Для простоты, датасет был набросан в таблицы csv, а потом импорт в БД, и импорта нет. На windows все в порядке, что делать на linux - пока не разобрался

UPD 2: функция импорта из CSV

function importFromCSV($link, $fileName, $tableName) {
    $sql = "LOAD DATA INFILE '../../htdocs/cifroBreak/php/TABLES/".$fileName."'
            INTO TABLE ".$tableName." 
            FIELDS TERMINATED BY ',' 
            ENCLOSED BY '\"'";
    mysqli_query($link, $sql);
}

Коннект:

$dbhost = 'localhost';
$dbuser = 'root';
$dbpass = '';
$dbname = 'graduate_work';
$conn = mysqli_connect($dbhost, $dbuser, $dbpass, $dbname);

Часть index-кода:

<select name="region" class="reg">
    <!-- region -->
    <option value="%">Выберите регион</option>
    <?php
        mysqli_select_db($conn, $dbname);
        $sql = "SELECT DISTINCT region FROM citys";
        $result_select = mysqli_query($conn, $sql, MYSQLI_STORE_RESULT);
        while($object = mysqli_fetch_object($result_select)){
            echo "<option value = '$object->region' > $object->region </option>";}
    ?>
 </select>
Answer 1

Оказалось, что XAMPP mySQL в Linux и Windows работают как-то по разному. При импорте некоторых строк таблицы, в нескольких ячейках длинна строки была выше допустимой, однако Windows это исключение не обработал, и записывал данные как есть, а Linux ругался, на то, что я пытаюсь записать строку в 67 символов, в ячейку VARCHAR(40).

READ ALSO
Передать значение URL в Iframe

Передать значение URL в Iframe

Есть сайтСделана костылем отправка формы(СМS древняя)

182
Регистрация и авторизация в мобильном приложении, подходит ли для этого RESTfull

Регистрация и авторизация в мобильном приложении, подходит ли для этого RESTfull

Как правильно реализовать регистрацию и авторизацию в мобильном приложении, подходит ли для этого RESTful веб приложение, какой протокол для...

95
Не понимаю условие задачи

Не понимаю условие задачи

Решил доделать задачи, которые раньше не осилилНо до сих пор не могу понять 2-е условие

134