Как подключить mysql к PHP через Largon - PullRequest
0 голосов
/ 12 января 2020

Я пытаюсь сделать какую-то курсовую работу, где мне нужно создать веб-страницу, которая взаимодействует с mySQL базой данных, используя PHP.

Я не знаком с PHP и не знаю как подключить к ней базу данных SQL.

У меня есть доступ к программному обеспечению под названием "laragon", которое, похоже, является программой виртуального сервера.

Пока у меня есть удалось запустить "Hello World Program".

<HTML><BODY>Test.<br>

<?php echo "PHP test"?>

</BODY></HTML>

Результат:

imageTest.
PHP test">

Я пытался найти узнал, как «подключить» PHP к базе данных mySql через Google, но я не смог найти ничего, что четко показывает, как это сделать. Я попытался адаптировать некоторый код, который я нашел из https://www.thegeekstuff.com/2017/05/php-mysql-connect/.

<HTML><BODY>Test.<br>

<?php
$conn = new mysqli("localhost", "", "", "DDL.sql");
if ($conn->connect_error)
{die("ERROR: Unable to connect: " . $conn->connect_error);} 
echo 'Connected to the database.<br>';
$result = $conn->query("SELECT id FROM user");
echo "Number of rows: $result->num_rows";
$result->close();
$conn->close();
?>

</BODY></HTML>

Результат:

A screenshot, showing an error message:

DDL.sql - файл, созданный с помощью блокнота. Он содержит 5 операторов создания DDL:

CREATE TABLE if not exists USER (id VARCHAR PRIMARY KEY,
...)

CREATE TABLE if not exists COMMUNITY (id VARCHAR PRIMARY KEY,
style TEXT)

etc.

Я открыл терминал largon и открыл в нем mySQL. Похоже, ошибка связана с правами доступа пользователя , поэтому я попытался адаптировать некоторый код, обнаруженный в видео YouTube , и ввести его в терминал laragon.

C:\largon\www>cd ..\bin\mysql\mysql-5.1.72-win32\bin

C:\largon\bin\mysql\mysql-5.1.72-win32\bin>mysql -u root
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 2
Server version: 5.1.72-community MySQL Community Server (GPL)

Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql> GRANT * ON DDL.sql
    -> TO 'USR'@'localhost'
    -> IDENTIFIED BY 'pass';
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your 
MySQL server version for the right syntax to use near '* ON DDL.sql
TO 'USR'@'localhost'
IDENTIFIED BY 'pass'' at line 1
mysql> GRANT INSERT, SELECT, DELETE, UPDATE ON DDL.sql
   -> TO 'USR'@'localhost'
   -> IDENTIFIED BY 'pass';
ERROR 1146 (42S02): Table 'ddl.sql' doesn't exist
mysql> GRANT INSERT, SELECT, DELETE, UPDATE ON DDL
    -> TO 'USR'@'localhost'
    -> IDENTIFIED BY 'pass';
ERROR 1046 (3D000): No database selected
mysql> GRANT INSERT, SELECT, DELETE, UPDATE ON DDL.*
    -> TO 'USR'@'localhost'
    -> IDENTIFIED BY 'pass';
Query OK, 0 rows affected (0.01 sec)

mysql>

Кажется, мне нужно создать имя пользователя и пароль. Затем я добавил имя и пароль к своему адаптированному PHP тестовому коду.

<HTML><BODY>Test.<br>

<?php
$conn = new mysqli("localhost", "USR", "pass", "DDL.sql");
if ($conn->connect_error)
{die("ERROR: Unable to connect: " . $conn->connect_error);} 
echo 'Connected to the database.<br>';
$result = $conn->query("SELECT id FROM user");
echo "Number of rows: $result->num_rows";
$result->close();
$conn->close();
?>

</BODY></HTML>

Результат:

A screenshot, showing an error message: Unable to connect: Access denied for user 'USR'@'localhost' to database 'ddl.sql'

Я в настоящее время пытаюсь запустить тестовую страницу PHP, чтобы я мог понять, как создать страницу PHP, которая обращается к базе данных mySQL.

Как получить доступ к базе данных mySQL используя PHP?

...