Php 操作员不喜欢工作
我有以下php代码:Php 操作员不喜欢工作,php,mysql,Php,Mysql,我有以下php代码: $sth = "SELECT * FROM data WHERE titulo LIKE '%$input%'"; $rec = mysql_query($sth); $count = 0; $result = array(); while($row = mysql_fetch_object($rec)) { $count++; array_push($result, $row); } // If result matched $
$sth = "SELECT * FROM data WHERE titulo LIKE '%$input%'";
$rec = mysql_query($sth);
$count = 0;
$result = array();
while($row = mysql_fetch_object($rec))
{
$count++;
array_push($result, $row);
}
// If result matched $myusername and $mypassword, table row must be 1 row
if($count == 1) {
echo json_encode($result);
return 1;
}else{
echo "No results found";
return 0;
}
关于$input,我有例如“he”
例如,我如何获得所有行:“你好,先生”,“我的壁炉”,“像xxHExx”
它只得到像“xxHExx”和“HE”这样的字符串,而没有其他字符串
实际上好像操作员不工作。。。我如何使用php来获得与这两个字母匹配的所有字符串
Thx
快速示例:
我想得到所有与“ol”匹配的行
在表数据中,有2行与“titulo”列中的“ol”匹配
这些列(titulo)中的值为:
-“你好”
-“Hola2”
因此,实际上,在本例中,LIKE操作没有提供任何资源…更改
if($count == 1) {
到
而且
停止使用mysql\函数
而且
了解SQL注入
而且
了解如何使用准备好的语句进行更改
if($count == 1) {
到
而且
停止使用mysql\函数
而且
了解SQL注入
而且
了解如何在代码中使用准备好的语句,只有在找到零或一个结果时才打印结果。你不想得到不止一个结果吗?我猜@kainaw指出的是你的问题,因为like应该可以很好地工作。另外,请切换到mysqli而不是mysql函数。mysql函数已弃用。此外,您还容易受到sql注入的攻击。请先阅读sqlinjection@ManelAlonso你怎么知道它什么也没找到?如果它找到2行、3行或4行,则不打印任何内容。在代码中,如果找到零或一个结果,则只打印一个结果。你不想得到不止一个结果吗?我猜@kainaw指出的是你的问题,因为like应该可以很好地工作。另外,请切换到mysqli而不是mysql函数。mysql函数已弃用。此外,您还容易受到sql注入的攻击。请先阅读sqlinjection@ManelAlonso你怎么知道它什么也没找到?如果它找到2行、3行或4行,则不打印任何内容。好的,这实际上是可行的!Thx m8,也不用担心不使用mysqli,这只是一个学校项目:D@ManelAlonso我想你是要去学校以后把它应用到实际项目中去?为什么现在不教自己正确的方法呢?@RyanVincent这就是教育的工作方式,任何教育机构(包括大学)都需要5年左右的时间才能使用最新的远程技术。这一切对他们来说太快了,我不是在学校学习PHP,这是一个学校项目,因为我要展示它,但他们什么也没教我,都是我自己做的。但别担心,我知道sql注入是如何工作的,我知道如何防止它。谢谢allOkay这真的很有效!Thx m8,也不用担心不使用mysqli,这只是一个学校项目:D@ManelAlonso我想你是要去学校以后把它应用到实际项目中去?为什么现在不教自己正确的方法呢?@RyanVincent这就是教育的工作方式,任何教育机构(包括大学)都需要5年左右的时间才能使用最新的远程技术。这一切对他们来说太快了,我不是在学校学习PHP,这是一个学校项目,因为我要展示它,但他们什么也没教我,都是我自己做的。但别担心,我知道sql注入是如何工作的,我知道如何防止它。谢谢大家