一尘不染

学习从哪里准备语句的选择

mysql

有人可以将下面的代码重写为准备好的语句吗?

result = mysqli_query($con,"SELECT * FROM note_system WHERE note = '$cnote'") 
or die("Error: ".mysqli_error($con));

while($row = mysqli_fetch_array($result))
{
$nid = $row['id'];

}

我正在尝试学习准备好的语句,但是从搜索时发现的许多示例中很难理解它的工作原理。我希望,如果我看到一些我熟悉的代码,可以将其重写为一条准备好的语句,它可能会点击我。请不要使用PDO,就我目前的知识水平而言,这太让我感到困惑了。谢谢。


阅读 273

收藏
2020-05-17

共1个答案

一尘不染

您好ButterDog让我逐步引导您完成PDO。

步骤1)

创建一个名为connect.php的文件(或任何您想要的文件)。每个需要数据库交互的PHP文件中都需要此文件。

让我们开始也请注意我的评论:

?php

//We set up our database configuration
$username="xxxxx"; // Mysql username
$password="xxxxx"; // Mysql password


// Connect to server via PHP Data Object
$dbh = new PDO("mysql:host=xxxxx;dbname=xxxxx", $username, $password); // Construct the PDO variable using $dbh
$dbh->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); // Set attributes for error reporting very IMPORTANT!
$dbh->setAttribute(PDO::ATTR_EMULATE_PREPARES, FALSE); // Set this to false so you can allow the actual PDO driver to do all the work, further adding abstraction to your data interactions.
?>

步骤2)需要connect.php,请看一下:

require ('....../........./...../connect.php'); // Require the connect script that made your PDO variable $dbh

第三步

要开始数据库交互,只需执行以下操作,还请阅读代码注释。目前,我们将不再担心数组!充分利用PDO,然后担心使其更容易使用!通过重复,“漫长的路要走”对代码有了更多的了解。一开始不要走捷径,一旦您了解自己在做什么,就把它们砍掉!

$query = $dbh->prepare("SELECT * FROM note_system WHERE note = :cnote"); // This will call the variable $dbh in the required file setting up your database connection and also preparing the query!

$query->bindParam(':cnote', $cnote); // This is the bread and butter of PDO named binding, this is one of the biggest selling points of PDO! Please remember that now this step will take what ever variable ($cnote) and relate that to (:cnote)

$query->execute(); // This will then take what ever $query is execute aka run a query against the database

$row = $query->fetch(PDO::FETCH_ASSOC); // Use a simple fetch and store the variables in a array

echo $row['yourvalue']; // This will take the variable above (which is a array) and call on 'yourvalue' and then echo it.

多数民众赞成在所有PDO。希望能有所帮助!

也看看这个。那对我有很大帮助!

我有时也将用作参考-
该网站看起来像废话,但那里有关于PDO的质量信息。我也用这个,我发誓这是最后一个链接!因此,在此之后,您只需问任何问题,但希望它可以成为有关PDO的一些参考指南。(希望大声笑)

2020-05-17