Задать вопрос
@arthur_jdi

Почему в бд не записываются строки содержащие текстовые символы?

В бд не записываются строки, записываются лишь числовые значения, хотя user_name и user_pass имеют тип данных - текст. Причем ошибки не выводятся (вывод ошибок в php я никак не изменял)

62d5281f56ba4468732819.png

Сам код:

<?php
	include 'conn.php';
	$user_names = $_POST['user_name'];
	$user_pass = $_POST['password'];
	

	if (($user_names != '' && $user_pass != '')) {

		$value_users = mysqli_query($connection, "SELECT * FROM `user_value`");
		$value_assoc = mysqli_fetch_assoc($value_users);
		$arr_user_value = array();

		while ( $value_assoc ) {
			array_push($arr_user_value, $value_assoc['user_name']);
			$value_assoc = mysqli_fetch_assoc($value_users);
		}
		
		if ( in_array($user_names, $arr_user_value) == false ) {
			$result = mysqli_query($connection, "INSERT INTO `user_value` (`user_name`, `user_pass`) VALUES ({$user_names}, {$user_pass})");
			echo 'аккаунт создан';
		} else {
			echo 'данный аккаунт уже существует в системе';
		}
		
	} else {
		echo 'вы ввели не все данные <br> <a href="/index.php">Вернуться</a>';
		die();
	}
?>


conn.php
<?php

$connection = mysqli_connect('127.0.0.1', 'root', 'root', 'data_bases');

if ($connection == false){
	echo 'no connetion';
	echo mysqli_connect_error();
	exit();
}

?>
  • Вопрос задан
  • 76 просмотров
Подписаться 1 Простой 3 комментария
Решения вопроса 1
rozhnev
@rozhnev Куратор тега PHP
Fullstack programmer, DBA, медленно, дорого
$q = mysqli_prepare($connection, "INSERT INTO `user_value` (`user_name`, `user_pass`) VALUES (?, ?)");
$q->bind_param("ss", $user_names, $user_pass);
$q->execute();


run php code online
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы