PHP-соединение с базой данных MySQL не подключается?

#php #mysql

#php #mysql

Вопрос:

Я только начал изучать php, и у меня возникли проблемы с поиском проблемы, когда я подключаю его к базе данных и запускаю запрос ‘INSERT’. Я думаю, что проблема в моем connection.php файл.

insert.php:

 <?PHP
echo "into";
include("connection.php");
echo "connected";
$table = blog;
$sql = "INSERT INTO $table SET
Title = '$_POST[title]',
Description = '$_POST[description]',
Content = '$_POST[content]'";
$query = @mysql_query($sql);

echo "complete";

echo $_POST[title];
echo $_POST[description];
echo $_POST[content]; 
?>
  

connection.php:

 <?php
echo "connection file reached";
$conn = mysql_connect(localhost, user, pass);
mysql_select_db(test, $conn);
echo "connected";
?>
  

Буду признателен за любые советы по моему коду или как я мог бы решить эту проблему.

РЕДАКТИРОВАТЬ: я думаю, что это никогда не доходит до connection.php файл, потому что он показывает «into» в верхней части insert.php но не «достигнут файл подключения» в верхней части connection.php . Корректен ли этот вызов для этого файла?

Спасибо

Комментарии:

1. Вы должны использовать mysqli или PDO, чтобы предотвратить SQL-инъекции.

2. Это только на локальном сервере, так что это не должно быть слишком большой проблемой, не так ли?

3. $table не определено.

4. установите error_reporting(E_ALL); и ini_set('display_errors', 1);

5. получаем ошибку <?php $link = mysql_connect(‘localhost’, ‘mysql_user’, ‘mysql_password’); if (!$link) { die(‘Не удалось подключиться: ‘ . mysql_error()); } echo ‘Успешно подключено’; mysql_close($link); ?>

Ответ №1:

Ознакомьтесь с php-константами, переменными и строками!

 define('foo','bar'); // foo == 'bar';
$foo = 'bar'; // $foo == 'bar'
  

Пожалуйста, используйте, mysqli_* поскольку mysql_* это обесценивается.

 $conn = mysql_connect(localhost, user, pass);
  

вероятно, должно быть

 $conn = mysql_connect('localhost', 'user', 'pass');
  

Комментарии:

1. Это сработало, спасибо. Он прошел и сказал подключено и т.д., Но база данных по-прежнему пуста, есть идеи по этому поводу?

2. Я бы установил phpmyadmin в вашем установочном xamp или любом другом, который вы используете, и начал бы с копирования в результате echo $sql это поможет вам отладить ваш запрос

3. у меня запущен Sequel Pro, и я могу видеть базу данных

Ответ №2:

вы написали

 @mysql_query($sql)
  

а также множество других проблем, его структура также неверна, проблема может быть в версии вашего языка, в качестве рекомендации php вам больше не следует использовать mysql, используйте mysqli или PDO