作者:胡敏qiang | 来源:互联网 | 2023-07-30 17:47
我正忙于一个学校项目来学习MVC。但是我对php知之甚少。
我有一个dbconnection文件,它看起来像这样
$servername = "localhost";
$username = "root";
$password = "";
$dbname = "filmopdrachtdb";
$cOnn= new mysqli($servername,$username,$password,$dbname);
if ($conn->connect_error) {
die("Connection Failed: " . $conn->connet_error);
}
echo "Connected SuccessFully";
我有一个如下登录页面:
Gebruikersnaam
Wachtwoord
我有一个如下所示的用户控制器:
include_once ("../Includes/DbConnection.php");
include_once ("../Models/User.php");
$gebruiker = new User();
$naam = $gebruiker->setGebruikersnaam($_POST["naam"]);
$wachtwoord = $gebruiker->setWachtwoord($_POST["wachtwoord"]);
$stmt = "SELECT gebruikersnaam,wachtwoord FROM klanten";
var_dump($stmt);
如何运行$ stmt查询。我不明白我该怎么办
$stmt = "SELECT gebruikersnaam,wachtwoord FROM klanten";
编辑:我希望查询$stmt
在UserController中运行。不在DbConnection文件中。
如果使用stm,则可以执行以下代码:
$stmt=$conn->prepare("SELECT gebruikersnaam,wachtwoord FROM klanten WHERE user=?");
$stmt->bind_param('s',$naam);
$stmt->execute();
OR
$conn->query($stmt);
,
在DbConnection.php
文件中,您有一个$conn
变量,其中包含您与数据库的连接。通过该变量,您可以在数据库上执行查询。
在mysqli PHP documentation中进行了修改,可以使用您的代码:
$results = $conn->query($stmt);
请注意,此方法不应与动态生成的查询字符串一起使用:
//BAD practice,leads to SQL injection
$results = $conn->query("SELECT * FROM MyTable WHERE myColumn = $search LIMIT 10");
对于动态生成的查询,请使用prepared queries。
我还建议使用PDO,它是PHP中更通用的数据库交互库,您可能无法像在学校那样针对该代码执行此操作,而是针对您自己的项目:)