2016-11-30 3 views
0
<?php 
echo "Lets run the program"; 
$id = 1; 
$conn = new mysqli('localhost', 'root', 'root'); 
if (mysqli_connect_errno()) { 
    printf("Connect failed: %s\n", mysqli_connect_error()); 
    exit(); 
} 

$stmt = $conn->stmt_init(); 

if($stmt->prepare("Select Genre_Name from Practice.genre_list where Genre_ID = ?")){ 
    $stmt->bind_param(i,$id); 
    $stmt->execute(); 
    $stmt->bind_result(s, $result); 
    $stmt->fetch(); 
    echo $result; 
    echo "in if function"; 
} 
else{ 
    echo "some issue"; 
} 
?> 

output: 

не Препятствует запустить программу Внимание: MySQLi :: MySQLi(): (HY000/2002): Нет такого файла или каталога в/Applications/MAMP/HTDOCS /practice/preparedStatement.php на линии 5 Connect не удалось: нет такого файла или каталогаПодготовленные ошибка Заявление соединения: Нет такого файла или каталога

После поиска на веб-я проверил конфигурацию в файле php.ini и mysql.sock не установлен должным образом, никаких проблем с тем, что , Все еще не в состоянии понять, почему подготовленный оператор не работает, я могу подключиться с использованием традиционного подхода mysqli_connect(), но не с помощью подхода OOA.

+3

'new mysqli()' имеет 4 параметра, четвертый - имя вашей базы данных – RiggsFolly

+1

Является ли код, который вы разместили здесь, подготовленныйStatement.php? Как вы это называете? –

+0

Я использовал командную строку для проверки работы кода, даже если упоминается база данных, она вызывает ту же ошибку. –

ответ

0

Я предполагаю, что вы работаете в Linux. Параметр в файле PHP.ini для mysql.default_socket не указывает на сокет mysql.

Откройте командную строку и введите:

locate mysql.sock 

После этого, редактировать php.ini и установить:

mysql.default_socket = /path/to/mysql.sock 

заменителя расположение mysql.sock на месте/путь/к /mysql.sock

Весьма вероятно, что файл находится в /var/lib/mysql/mysql.sock, но он может различаться в зависимости от вашего сервера.

+0

; Имя сокета по умолчанию для локального MySQL подключается. Если пустым, используется встроенный ; По умолчанию MySQL. mysql.default_socket = /Applications/MAMP/tmp/mysql/mysql.sock Это уже задано в файле php.ini –

Смежные вопросы