2016-05-24 2 views
-1

У меня только есть малина pi 3, и я подумал, что буду использовать ее для изучения php, но у меня есть неприятная проблема.Ошибка при подключении php к mysql

У меня есть pi 3 работает raspbian, и я установил php5, apache2, MySQL и phpmyadmin. Я могу создавать тестовые html-файлы в/var/www/html и просматривать их с моего ПК с Windows и пи, и они работают. Я создал файл php со следующим кодом, и это также работает так, как ожидалось.

<html> 
<head> 
<title>Hello World!</title> 
</head> 
<body> 
<?php echo "Hello World"; ?> 

</body> 

</html> 

Проблема возникает, когда я хочу подключиться к MySQL. Я создал следующий файл (из видео с YouTube) и поместил его в/var/www/html, и когда я просматриваю его с помощью Edge или самого pi, я получаю, что «Edge не может найти страницу» или пустую страницу (одна Пи).

<?php 

//opens connection to mysql server 
$dbc = mysql_connect('192.168.0.9','pi','raspberry'); 

if (!$dbc){ 
    echo("not connected:" mysql_error()); 
} 

//select database 

$db_selected = mysql_select_db("testDB", $dbc); 
if (!$db_selected){ 
    echo("cant connect :" . mysql_error()); 
} 

?> 

Может кто-нибудь указать мне в правильном направлении, пожалуйста?

+0

Если MySQL на пи попытке ' 'localhost'' в качестве первого аргумента – Dale

+5

** ПРЕДУПРЕЖДЕНИЕ **: Если вы только учитесь PHP, пожалуйста, не используйте ['mysql_query'] (http://php.net/manual/en/function.mysql-query.php). Это так ужасно и опасно, что он был удален в PHP 7. Замена, такая как [PDO, не трудно учиться] (http://net.tutsplus.com/tutorials/php/why-you-should-be-using-phps -pdo-for-database-access /) и руководство, подобное [PHP The Right Way] (http://www.phptherightway.com/), объясняет лучшие практики. – tadman

+0

Почему вы думаете, что проблема связана с mysql? Я предлагаю вам заглянуть в файл журнала ошибок http-серверов. Вот где вы можете подробно прочитать, что такое точная проблема, в какой строке в каком файле. Вы _cannot_ разрабатываете скрипты php без мониторинга этого файла. Нет, если вы не поклонник бесконечных гадательных игр. – arkascha

ответ

0

Обратите внимание, что:

  • Если вы используете PHP 5.5+ в mysql_ * функции устарели
  • Может быть, вы не видите предупреждения, потому что ваши php.ini «display_errors» директива не установлена ​​на.
  • Попробуйте что-нибудь: var_dump (mysql_error()), чтобы получить дополнительную информацию о том, что там происходит ...
  • Используйте функции mysqli_ *. Их почти так же, как mysql_ *
Смежные вопросы