У меня возникла проблема, из-за которой я до сих пор не смог найти какой-либо ресурс, чтобы помочь мне в этом. Надеюсь, это можно решить здесь. Я вроде новичок на php, поэтому мне жаль, если это очень просто.mysqli не работает в командной строке
У меня есть php-скрипт, который подключается к базе данных mysql, работающей под xampp (apache 2.4 и php 5.4) в Windows 8. Этот скрипт отлично работает в моем браузере, но когда я пытаюсь выполнить его через командную строку (cmd), он не будет работать, и возвращает мне эту ошибку:
Примечание: Undefined переменной: dbhandle в C: \ XAMPP \ HTDOCS \ 4SQ-вытяжная \ _get_weather.ph р на линии 29 Внимание: mysqli_query() ожидает параметр 1, чтобы быть MySQLi, нуль приведены в C: \ XAMPP \ HTDOCS \ 4SQ-pull_get_weather.php на линии 30
- У меня есть расширение = php_mysqli.dll раскомментируйте
- Я установить переменные PATH и PATHTEXT
- Я использую эту командную строку для запуска сценария: C: \ XAMPP \ PHP \ php.exe -fc: \ XAMPP \ HTDOCS \ 4SQ-вытяжная \ _get_weather.php
За последний мой PHP код что-то вроде этого:
<?php
$username = "xxx";
$password = "xxx";
$hostname = "localhost";
$database = "4sq";
//connection to the database
$dbhandle = mysqli_connect($hostname, $username, $password, $database)
or die("Unable to connect to MySQL");
mysqli_select_db($dbhandle, "4sq");
?>
Любые идеи?
Ничего не меняется с этим, но благодаря так или иначе. На самом деле я только добавил эту функцию, потому что у меня не было больше надежд и пытался что-нибудь сказать в Интернете! btw, странно, что stackoverflow не отображает строку в командной строке. Правильный должен иметь счетчик косой черты перед именем файла php: c: \ xampp \ php \ php.exe -fc: \ xampp \ htdocs \ 4sq-pull \ _get_weather.php – diegodacal
(Ваша проблема с косой чертой связана с подчеркиванием символ используется для форматирования _italics_ и \ escapes, поэтому я исправил это для вас, используя двойную слэш-счетчик - я думаю, что вы это имели в виду?) – CBroe
Если оно установило соединение, которое не работало, ваш 'или die (...) 'должен дать вам сообщение, сообщающее вам об этом, - но ошибка говорит вам что-то совершенно другое! Я предполагаю, что вы включили этот сценарий в другой? Тогда, возможно, параметр 'include_path' для выполнения через командную строку отличается или рабочий каталог сценария, поэтому включение не выполняется, а' $ dbhandle' действительно не определено. (Используя 'require' вместо' include', вы должны были бы предупредить вас об этом в первую очередь, поэтому в будущем используйте это для _essential_.) – CBroe