Попытка подключиться к localhost sql db с помощью следующего кода (ничего не делать с запросом в этот момент, просто нужно выполнить запрос):
<?php $host = "localhost"; $port = 3306; $socket = ""; $user = "root"; $password = "Password1"; $dbname = "CIIP_WIKI"; $con = new mysqli($host, $user, $password, $dbname, $port); if(!$con) { echo ("db connection failed!"); die ('Could not connect to the database server' . mysqli_connect_error()); } else { echo ("db connection established."); echo ("<br/>"); } $query = sprintf("SELECT first_name FROM actor WHERE actor_id='1'"); $result = mysql_query($query); $con->close(); ?>
Я продолжаю получать следующее …
Welcome db connection established. Warning: mysql_query(): Access denied for user ''@'localhost' (using password: NO) in C:\Program Files (x86)\EasyPHP-12.1\www\Cisco Wiki\index.php on line 31 Warning: mysql_query(): A link to the server could not be established in C:\Program Files (x86)\EasyPHP-12.1\www\Cisco Wiki\index.php on line 31
Почему это не работает?
Это связано с тем, что вы создаете соединение с помощью mysqli_
а затем используете mysql_
чтобы попытаться получить результат. Это разные API.
<?php $link = mysqli_connect('localhost', 'my_user', 'my_password', 'my_db'); if (!$link) { die('Connect Error (' . mysqli_connect_errno() . ') ' . mysqli_connect_error()); } echo 'Success... ' . mysqli_get_host_info($link) . "\n"; mysqli_close($link); ?>
См. Руководство