Intereting Posts
Как написать регулярное выражение для поиска одного каталога в URL-адресе? Рекомендации: безопасный метод хранения паролей в таблице? Многомерный массив от сопоставления столбцов mysql Найдите первый символ, который отличается между двумя строками создать определенную папку для загрузки на основе роли пользователя и ограничить доступ к другой папке в laravel elfinder Отправка электронной почты с помощью laravel, но не распознающая переменную Проверьте, существует ли файл на удаленной машине Как отобразить анимацию загрузки, когда файл создан для загрузки? Неопределенная переменная PHP_SELF PHP, создающий многомерный массив потоков сообщений из многомерного массива (IMAP) Метод Symfony для превращения шаблона в строку Ссылки страницы ссылки на страницы неактивны. Почему считается, что плохая практика использует «глобальную» ссылку внутри функций? Неустранимая ошибка – класс «Монго» не найден Как вы делаете простые вещи в Magento?

Как вставить данные в столбцы из PHP в MariaDB?

Я знаком с базами данных MySql, но есть новая база данных MariaDB. Я пытаюсь вставить данные из PHP-кода, и я не могу, так что вы можете помочь мне вставить данные? Мой PHP на сервере – 5.4.32, а моя MySQL – 10.0.20-MariaDB-cll-live.

Это код, который я использую, чтобы попытаться вставить данные в MariaDB.

$connection = mysql_connect("localhost", "root", ""); // Establishing Connection with Server $db = mysql_select_db("database", $connection); // Selecting Database from Server if(isset($_POST['submit'])){ // Fetching variables of the form which travels in URL $name = $_POST['name']; $email = $_POST['email']; if($name !=''||$email !=''){ //Insert Query of SQL $query = mysql_query("insert into VIP Membership(Name, Email) values ('$name', '$email')"); echo "<br/><br/><span>Data Inserted successfully...!!</span>"; } else{ echo "<p>Insertion Failed <br/> Some Fields are Blank....!!</p>"; } } mysql_close($connection); // Closing Connection with Server 

EDIT: теперь я использовал код mysqli, но это порождает ошибку 500.

 <?php $servername = "localhost"; $username = "username"; $password = ""; $dbname = "db_table"; // Create connection $conn = mysqli_connect($servername, $username, $password, $dbname); // Check connection if (!$conn) { die("Connection failed: " . mysqli_connect_error()); } if(isset($_POST['submit'])){ // Fetching variables of the form which travels in URL $name = $_POST['name']; $email = $_POST['email']; if($name !=''||$email !=''){ $sql = "INSERT INTO 'VIP Membership' (Name, Email) VALUES ('$name', '$email')"; if(mysqli_query($conn, $sql)) { echo "New record created successfully"; } else { echo "Error: " . $sql . "<br>" . mysqli_error($conn); } } mysqli_close($conn); 

Вам нужно использовать обратные обратные (не одинарные кавычки), чтобы окружать имя вашей таблицы, поскольку в нем есть пробел.

 $sql = "INSERT INTO `VIP Membership` (Name, Email) VALUES ('$name', '$email')"; 

ОБНОВЛЕНИЕ: Вы действительно должны использовать подготовленные заявления. Как бы то ни было, этот код очень опасен.

 $sql = mysqli_prepare($conn, "INSERT INTO `VIP Membership` (Name, Email) VALUES (?, ?)"); if($sql !== FALSE){ mysqli_stmt_bind_param($sql, "ss", $name, $email); if(mysqli_stmt_execute($sql)){ echo "New record created successfully"; } else { echo mysqli_stmt_error($sql); } } else{ echo mysqli_error($conn); } 

MariaDB – это обратная совместимая, двоичная замена MySQL. Это означает, что версия MariaDB будет работать точно так же, как MySQL. Вам не нужно ничего делать, чтобы ваш MySQL-код работал на MariaDB. Но в вашем коде я бы использовал функцию mysqli (или PDO) вместо старой устаревшей mysql .

Поскольку вы можете столкнуться с некоторыми несовместимостями, вы можете проверить этот официальный документ на наличие различий между ними. MariaDB против MySQL