mysqli_query () не удалось MAMP Phpmyadmin PHP

0

Я новичок в большей части этого, но я пытаюсь просто вставить некоторую информацию в свою новую базу данных в phpmyadmin через php-код. Вот код, который я использую для подключения (dbh.inc.php)


<?php

$user = 'root';
$password = 'root';
$db = 'test';
$host = 'localhost';
$port = 8889;

$link = mysqli_init();
$conn = mysqli_real_connect(
   $link, 
   $host, 
   $user, 
   $password, 
   $db,
   $port
);

?>

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


<?php

    include_once 'includes/dbh.inc.php';

    $name = $_POST['mName'];
    $email = $_POST['mEmail'];
    if($conn)
        echo "Connected <br/>";
    else
    {
        echo "Error: Unable to connect to MySQL." . PHP_EOL;
        echo "Debugging errno: " . mysqli_connect_errno() . PHP_EOL;
        echo "Debugging error: " . mysqli_connect_error() . PHP_EOL;
    }

    if(isset($_POST['mName']))
        echo $name.'<br/>';
    if(isset($_POST['mEmail']))
        echo $email.'<br/>';

    $sql = "INSERT INTO userinfo (_email, _name, _date) VALUES ('$email', '$name', '2018-6-23 11:20:01')";
    echo "Query = " . $sql.'<br/>';
    if(mysqli_query($conn,$sql))
        echo 'It Worked!';
    else
    {
        echo "Error: " . mysqli_error($conn);
    }


?>

Вот фотография моей базы данных phpmyadmin с одной тестовой записью Изображение 174551

и, наконец, вот что я получаю при попытке запустить этот код:

Изображение 174551

Как вы можете видеть, я просто подключаюсь к базе данных, а затем ударяю строку "Ошибка:" после попытки вставить информацию, но ничего не печатает, и ничего не добавлено в мою базу данных phpmyadmin. Я использую MAMP.

У кого-нибудь есть идеи относительно того, почему это происходит? Дайте мне знать, нужна ли дополнительная информация.

Огромное спасибо :)

  • 0
    В чем ошибка mysqli_error($conn) ?
  • 0
    Там нет ошибки, вот что так расстраивает. Я печатаю «Ошибка:» и тогда ничего нет
Теги:
mamp

1 ответ

2
Лучший ответ

Вы проверяете неверную переменную для своего mysqli_error(). mysqli_real_connect() возвращает boolean, а mysqli_error() требует результата mysqli_init() или mysqli_connect().

// change 
echo "Error: " . mysqli_error($conn);

// to this
echo "Error: " . mysqli_error($link);
  • 1
    Ага! Ты лучший. Я прошел через мой код, изменяя ссылку $ conn -> $, и когда передавал запрос следующим образом: if (mysqli_query ($ link, $ sql)) Это сработало! Спасибо вам большое!

Ещё вопросы

Сообщество Overcoder
Наверх
Меню