Кажется, что мой PHP
пытается войти в MySQL
данных MySQL
с именем пользователя, которое я не поставляю.
Ошибка, которую я получаю:
Warning: mysql_query(): Access denied for user 'radiocaf'@'localhost' (using password: NO) in /home/radiocaf/public_html/layout.php on line 16 Warning: mysql_query(): A link to the server could not be established in /home/radiocaf/public_html/layout.php on line 16
Я определенно предоставляю пароль, и я не использую «радиокадр» в качестве имени пользователя в файле подключения, поэтому после 3 часов просмотра я все еще не могу разобраться, где я ошибаюсь.
Вот мой код:
PSL-config.php:
define("HOST", "localhost"); define("USER", "carl"); define("PASSWORD", "xxxxxxxxx"); define("DATABASE", "wlist");
db_connect.php
include_once 'psl-config.php'; // As functions.php is not included $mysqli = new mysqli(HOST, USER, PASSWORD, DATABASE);
а затем, наконец, на главной странице, где я получаю ошибку (я вырезал HTML между PHP:
ini_set('display_errors',1); error_reporting(E_ALL); //Include Connection PHP and connect include_once('includes/db_connect.php'); //Check Connection if ($mysqli->connect_error) { die('Connection failed: ' . $mysqli->connect_error); }; if (!$query = mysql_query("SELECT * FROM ( (SELECT * FROM users) UNION ALL (SELECT * FROM members) ) results ORDER BY Name DESC")){ die("Error: " . mysqli_error($mysqli)); } if (!$result = $mysqli->query($query)){ printf("Error: %s\n", $mysqli->error); } <HTML> echo "<table border='0' cellpadding='0' cellspacing='0'>"; $x=0; while($row = mysql_fetch_assoc($result)): if ($x<10){ echo "<tr><td width='400' height='30' background='../images/green1.jpg'>".$row["Name"]."</td></tr>"; } $x++; if ($x == 10){ echo "<tr><td width='400' height'30' background='../images/green1.jpg'>More...</td></tr>"; break; } endwhile; echo "</table>"; <HTML> $mysqli->close();
Окружающий HTML
– это всего лишь макет страницы, в основном просто макет фотошопа, нарезанный и экспортируемый в Интернет.
Я довольно новичок в PHP
и поэтому надеюсь, что этот вопрос будет объяснен, насколько это возможно.
Большое спасибо, ребята, я извиняюсь, что этот вопрос казался бедным некоторым из вас, что вы его отметили. К сожалению, я бы не видел «опечаток», поскольку я действительно не знал, что я пытаюсь использовать mysql
и mysqli
и что они не могут «обмениваться» друг с другом. Еще одна проблема, которую я нашел, – Dreamweaver загрузил код из layout.php как db_connect.php . Это не объясняет (по крайней мере, мне), как было сделано какое-либо соединение, чтобы выявить ошибку отказа в доступе для 'radiocaf' @ 'localhost'.
Вот старые строки кода, которые я изменил (в layout.php ):
if (!$query = mysql_query("SELECT * FROM ( while($row = mysql_fetch_assoc($result)):
изменился на:
if (!$query = "SELECT * FROM ( while($row = mysqli_fetch_assoc($result)):
И это все, что нужно, но я полностью благодарен! Еще раз спасибо всем!
Вы конфликтуете с
MySQL
иMySQLi
. MySQL и MySQLi – это два разных метода
Waring – это
Warning: mysql_query(): .....
Но ваша подключаемая база данных с mysqli
$mysqli = new mysqli(HOST, USER, PASSWORD, DATABASE);.
(Waring in
php.net
) Расширение MySQL было устарело в PHP 5.5.0, и оно было удалено в PHP 7.0.0 . Вместо этого следует использовать расширениеMySQLi
илиPDO_MySQL
.
<?php ini_set('display_errors',1); error_reporting(E_ALL); //Include Connection PHP and connect //include_once('includes/db_connect.php'); $con=mysqli_connect(HOST, USER, PASSWORD, DATABASE); //Check Connection if ($mysqli->connect_error) { die('Connection failed: ' . $mysqli->connect_error); }; if (!$query = mysqli_query($con,"SELECT * FROM ( (SELECT * FROM users) UNION ALL (SELECT * FROM members) ) results ORDER BY Name DESC")){ die("Error: " . mysqli_error($mysqli)); } if (!$result = $mysqli->query($query)){ printf("Error: %s\n", $mysqli->error); } ?> <HTML> <body> <?php echo "<table border='0' cellpadding='0' cellspacing='0'>"; $x=0; while($row = mysqli_fetch_assoc($result)): if ($x<10){ echo "<tr><td width='400' height='30' background='../images/green1.jpg'>".$row["Name"]."</td></tr>"; } $x++; if ($x == 10){ echo "<tr><td width='400' height'30' background='../images/green1.jpg'>More...</td></tr>"; break; } endwhile; echo "</table>"; $mysqli->close(); ?> </body> <HTML>