php - PHP - ¿ 与此查询等效的 PDO 是什么?real_escape_string // fetch_assoc
问题描述
在此先感谢您抽出宝贵的时间。
语境
我是 php 新手,我的第一个个人任务是在做一个小型库存系统的同时将 SQLI 连接更改为 PDO,一切都很好,直到我看到这个组件是一个很棒的实时搜索数据表
问题
改变它我看到的连接:
$q=$conexion-> real_escape_string ($_POST['farmacos']);
$buscarFarmaco= $conexion->query($query) ;
而($filaFarmacos= $buscarFarmaco->fetch_assoc());
当然,经过一整天的网络阅读 + youtube 我无法解决它。
这是我最好的尝试
- $q=$conexion-> real_escape_string ($_POST['farmacos']);
1.1。$q = $conexion -> 准备();$q -> 执行();
- $buscarFarmaco= $conexion->query($query) ;
2.1。$buscarFarmaco = $conexion -> 准备($query); $buscarFarmaco -> 执行();
- 而($filaFarmacos= $buscarFarmaco->fetch_assoc());
3.1。而($filaFarmacos = $buscarFarmaco->fetch(PDO::FETCH_BOTH)):
所以
不要担心一个确切的解决方案,只是一个很好的建议,我会非常感激。
有带有 SQLi 连接但没有 PDO 的功能代码
<?php
/////// SQLI CONNECTION /////////
$host = 'localhost';
$basededatos = 'farmacia';
$usuario = 'root';
$contraseña = '';
$conexion = new mysqli($host, $usuario,$contraseña, $basededatos);
if ($conexion -> connect_errno)
{
die("Fallo la conexion:(".$conexion -> mysqli_connect_errno().")".$conexion-> mysqli_connect_error());
}
/////// PDO CONNECTION /////////
//function conexion()
//{
//$servidor="mysql:host=localhost; dbname=farmacia";
//$usuario="root";
//$password="";
//$conexion = New PDO($servidor,$usuario,$password);
//$conexion -> SetAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
//return $conexion;
//}
//$conexion = conexion();
//////////////// INITIAL QUERY ///////////////////////
$tabla="";
$query="SELECT * FROM farmaco ORDER BY sto_far";
///////// OLD SQLI QUERY ////////////
if(isset($_POST['farmacos']))
{
$q=$conexion->real_escape_string($_POST['farmacos']); //here is the problem
$query="SELECT * FROM farmaco WHERE
nom_far LIKE '%".$q."%' OR
lab_far LIKE '%".$q."%' OR
sto_far LIKE '%".$q."%' OR
pre_far LIKE '%".$q."%'";
}
$buscarFarmaco=$conexion->query($query); //here is the other
if ($buscarFarmaco->num_rows > 0)
{
$tabla.=
'<table>
<thead class="thead-dark">
<tr>
<td>NOMBRE</td>
<td>LABORATORIO</td>
<td>STOCK</td>
<td>PRECIO</td>
</tr>
</thead>';
while($filaFarmacos= $buscarFarmaco->fetch_assoc()) //here is the final one
{
$tabla.=
'<tr>
<td>'.$filaFarmacos['nom_far'].'</td>
<td>'.$filaFarmacos['lab_far'].'</td>
<td>'.$filaFarmacos['sto_far'].'</td>
<td>'.$filaFarmacos['pre_far'].'</td>
</tr>';
}
$tabla.='</table>';
} else
{
$tabla="No hay stock de fármacos en este laboratorio.";
}
echo $tabla;
?>
解决方案
推荐阅读
- java - 对话框打开时如何暂停活动?
- android - 数据绑定设置的数据不显示在视图中
- flutter - Flutter - 如果文本字段为空,如何防止在文本字段中调用“onChanged”?
- amazon-web-services - 摄取时 CSV 文件(在新事件下)出现奇怪的“不支持文件格式”错误
- python - Pytorch张量酸洗在运行之间不一致
- php - 等待 botman 对话结束并继续
- xamarin.forms - 格式错误的 redirect_uri,即使它匹配 AllowedRedirectUris 值
- html - 用 CSS 制作的形状不断溢出父容器
- python - 生成人工窗口调整大小 TKinter Python
- sql - SQL:删除两列与另一行中的值匹配的行