sql语句中的文本变量 - PHP

时间:2014-10-07 11:57:48

标签: php sql

我试图在SQL语句中获取我的变量,把sql看作是一个字符串。 我已经搜索了很长时间才找到解决方案,但我无法弄明白。

<?php ob_start(); ?>
    <h2 class="title_test"></h2>
    <?php $contents = ob_get_contents(); 
    $test = 'Singer/Songwriter Nadine Shah Interview';
    $myText = (string)$contents;
    $result = mysqli_query($con, "SELECT channel_id FROM guestlist_tvs WHERE title = '$myText'");
    $row = mysqli_fetch_array($result);
    echo $row[0];
?>

ob_start从h2

获取文本

myText从$ contents(h2之间的值)生成一个字符串。 但是如果我运行sql语句,我不会得到任何结果。

如果我把它作为SQL语句;

$result = mysqli_query($con, "SELECT channel_id FROM guestlist_tvs WHERE title = '$test'");

它返回正确的标题.. 所以将我的变量转换为字符串有问题,我不知道如何修复它。

每一条评论都会非常感激。

由于

2 个答案:

答案 0 :(得分:0)

<?php ob_start(); ?>
<h2 class="title_test"></h2>
<?php $contents = ob_get_contents(); 
$test = 'Singer/Songwriter Nadine Shah Interview';
$myText = mysqli_real_escape_string($con, trim(strip_tags($contents)));
$result = mysqli_query($con, "SELECT channel_id FROM guestlist_tvs WHERE title = '$myText'");
$row = mysqli_fetch_array($result);
echo $row[0]; 
?>

这个怎么样?

答案 1 :(得分:-1)

以这种方式尝试&#34; SELECT channel_id FROM guestlist_tvs WHERE title =&#39;&#34;。$ test。&#34;&#39;&#34;