Mysql LIKE 显示未知字符
Mysql LIKE show unknown characters
我试图从 mysql table.
中过滤一些数据
<?php
include ("connection.php");
$name = "cable";
$sql = "SELECT * FROM stock WHERE item LIKE '%$name%'";
?>
<a target="_blank" href="test2.php?link=<?php echo $sql; ?>" >click</a>
我尝试使用下一页的 $_GET[link] 获取 sql 语句。 (test2.php)。这是来自 TEST2.PHP
的代码
<?php
include ("connection.php");
$link = $_GET['link'];
echo $link;
然后 echo $link 显示一个不同的值。它不显示 "cable"。相反,它显示
SELECT * FROM stock WHERE item LIKE 'Êble%'
你能告诉我为什么 CABLE 变成了 Êble 吗?
在 URL 中传递 SQL 语句不是一个好主意。请参考以下link以供参考,
refer this
如果你想通过URL传递特殊字符,你可以使用,
urlencode($url);
正如 Ayyanar 所说,是的,在 URL
中传递 SQL query
不是一个好主意。
但是如果你仍然想实现它,你可以这样做:
TEST1.PHP
<?php
$name = "cable";
$sql = "SELECT * FROM stock WHERE item LIKE '%--$name--%'";
?>
<a target="_blank" href="test2.php?link=<?php echo $sql; ?>" >click</a>
TEST2.PHP
<?php
$link = $_GET['link'];
$link = str_replace(
array('%--', '--%'),
array('%', '%'),
$link
);
echo $link;
?>
我试图从 mysql table.
中过滤一些数据<?php
include ("connection.php");
$name = "cable";
$sql = "SELECT * FROM stock WHERE item LIKE '%$name%'";
?>
<a target="_blank" href="test2.php?link=<?php echo $sql; ?>" >click</a>
我尝试使用下一页的 $_GET[link] 获取 sql 语句。 (test2.php)。这是来自 TEST2.PHP
的代码<?php
include ("connection.php");
$link = $_GET['link'];
echo $link;
然后 echo $link 显示一个不同的值。它不显示 "cable"。相反,它显示
SELECT * FROM stock WHERE item LIKE 'Êble%'
你能告诉我为什么 CABLE 变成了 Êble 吗?
在 URL 中传递 SQL 语句不是一个好主意。请参考以下link以供参考, refer this
如果你想通过URL传递特殊字符,你可以使用,
urlencode($url);
正如 Ayyanar 所说,是的,在 URL
中传递 SQL query
不是一个好主意。
但是如果你仍然想实现它,你可以这样做:
TEST1.PHP
<?php
$name = "cable";
$sql = "SELECT * FROM stock WHERE item LIKE '%--$name--%'";
?>
<a target="_blank" href="test2.php?link=<?php echo $sql; ?>" >click</a>
TEST2.PHP
<?php
$link = $_GET['link'];
$link = str_replace(
array('%--', '--%'),
array('%', '%'),
$link
);
echo $link;
?>