Я пытаюсь сделать какую-то курсовую работу, где мне нужно создать веб-страницу, которая взаимодействует с mySQL базой данных, используя PHP.
Я не знаком с PHP и не знаю как подключить к ней базу данных SQL.
У меня есть доступ к программному обеспечению под названием "laragon", которое, похоже, является программой виртуального сервера.
Пока у меня есть удалось запустить "Hello World Program".
<HTML><BODY>Test.<br>
<?php echo "PHP test"?>
</BODY></HTML>
Результат:
Test.
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>
Результат:
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>
Результат:
Я в настоящее время пытаюсь запустить тестовую страницу PHP, чтобы я мог понять, как создать страницу PHP, которая обращается к базе данных mySQL.
Как получить доступ к базе данных mySQL используя PHP?