sql语句中的文本变量-PHP
我试图在SQL语句中获取变量,put SQL不将其视为字符串。 我已经寻找了很长一段时间的解决方案,但我想不出来sql语句中的文本变量-PHP,php,sql,Php,Sql,我试图在SQL语句中获取变量,put SQL不将其视为字符串。 我已经寻找了很长一段时间的解决方案,但我想不出来 <?php ob_start(); ?> <h2 class="title_test"></h2> <?php $contents = ob_get_contents(); $test = 'Singer/Songwriter Nadine Shah Interview'; $myText = (string
<?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];
?>
它返回正确的标题。。
所以把我的变量转换成字符串是有问题的,我不知道如何修复它
我们将非常感谢您的每一条评论
谢谢试着用这种方法从来宾列表中选择频道id,其中title='.$test'
<?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];
?>
这个怎么样?美元内容包含什么?你打开错误报告了吗?它包含视频的标题。如果我回显$contents,则会显示标题。是的,我知道$contents如何包含标题视频?它将包含HTML输出。标题中是否有?为什么不使用一个预先准备好的语句来阻止sql注入,让生活变得更简单呢?首先尝试转义文本,添加以下内容:$myText=$con->real\u escape\u stringcontents;本应使用prepared StationsThanks作为您的评论,但不幸的是,它不起作用:输出为空
<?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];
?>