从子域清空MySQL查询结果

时间:2014-05-13 15:14:40

标签: php mysql database subdomain

我有一个托管在Apache服务器(Plesk VPS)上的网站(例如site.com)。安装phpMyAdmin用于管理站点上的MySQL数据库。我使用了"复制表" phpMyAdmin中的函数,用于复制现有表的结构和属性。我成功地将新数据导入新表。

我创建了一个新的子域(xx.site.com),并将其根目录分配给服务器上的// httpdocs / new_site。复制现有(工作)php脚本后查询旧表的数据

$fetch = mysql_query("SELECT * FROM tablename WHERE fieldname LIKE '$var' "); 
while ($row = mysql_fetch_row($fetch)) {
echo  "$row[0] $row[1] $row[2] $row[3] $row[4] $row[5]";
};

并将tablename更改为新复制和填充的表我得到一个空的结果集。值得注意的是php脚本正常执行,没有错误,并成功传回空结果集,可以用$ var的echo替换,建立查询不是空/ null。

建立$ var的代码是:

$var = $_GET['var']; //takes the pass from URL 


if (empty($var)) 
   die; 

我该如何解决这个问题?应该寻找什么线索?哪些信息可以确定问题所在?

1 个答案:

答案 0 :(得分:1)

我认为你错过了%

将您的查询更改为此

SELECT * FROM tablename WHERE fieldname LIKE '$var%'

如果您将%放在$var的右侧,它将从左到右匹配任何内容。

如果您在%$var)的左侧放置'%$var',则该列将从列fieldname的右侧到左侧匹配

当您使用LIKE运算符时, 指示从哪里开始搜索。如果你想要完全匹配。这样做

SELECT * FROM tablename WHERE fieldname='$var'

修改

AS建议由Fred -iii,

SELECT * FROM tablename WHERE fieldname LIKE '". $var ."&'

OR

SELECT * FROM tablename WHERE fieldname='". $var ."'