使用变量进行PHP搜索

时间:2012-02-12 14:04:00

标签: php api

如何使用在文本框中输入的变量来搜索TinySong api?我尝试使用一些变量但无济于事。这是我试过的:

<?php
if(isset($_POST['submit'])) {
 echo ' ',  htmlspecialchars($_POST['something']);
}
?>

<?php


require_once 'tinysong.php';

$api_key = 'MY API KEY';

$query = '$something ';


$tinysong = new Tinysong($api_key);


$result = $tinysong
            ->search($query)
            ->execute();


echo "<pre>";
print_r($result);
echo "</pre>";
?>

我不明白为什么没有查询文本框的值。我需要改变它才能工作?谢谢

2 个答案:

答案 0 :(得分:3)

假设您已禁用register_globals(我希望您有!),您需要使用$_POST["something"]代替$something

另外,为什么'$something' - PHP中的单引号意味着不会解析字符串的内容。您无法从内部引用变量。你不能只是做一些事情:

$tinysong->search($_POST["something"])->execute();

如果您使用'$something',字符串的内容将为"$something" - 我认为这不是您想要的。

答案 1 :(得分:0)

您没有变量$something。您有$_POST['something'],但除非register_globals已启用(它不应该是),否则您从未填充$something。因此,您无需查询。

$query = $_POST['something'];

顺便提一下,你在这里也使用了单引号,这不会导致变量被插值。插值需要双引号:

// This would have needed double quotes if it wasn't incorrect anyway...
$query = '$something ';

$query = "$something ";