Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ember.js/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
php&;mysql查询-无法从mysql返回所需的变量_Php_Mysql_Syntax Error - Fatal编程技术网

php&;mysql查询-无法从mysql返回所需的变量

php&;mysql查询-无法从mysql返回所需的变量,php,mysql,syntax-error,Php,Mysql,Syntax Error,更新:在对$\u GET变量进行的一些附带验证中,必须有一个小的语法错误。我仔细地重写了所有的内容,现在脚本开始工作了。谢谢大家! 我花了5个多小时试图找出我的代码有什么问题 第1页:db查询从db检索一些vimeo视频,并向每个视频显示一个“编辑”链接,该链接动态获取视频id(vimeo 8位id)。为此,我只需调用以下函数: function edit_portfolio_videos() { global $connection; $query = "SELECT * FROM portf

更新:在对$\u GET变量进行的一些附带验证中,必须有一个小的语法错误。我仔细地重写了所有的内容,现在脚本开始工作了。谢谢大家!

我花了5个多小时试图找出我的代码有什么问题

第1页:db查询从db检索一些vimeo视频,并向每个视频显示一个“编辑”链接,该链接动态获取视频id(vimeo 8位id)。为此,我只需调用以下函数:

function edit_portfolio_videos() {
global $connection;
$query = "SELECT * FROM portfolio_videos ORDER BY video_id ASC";
$portfolio_videos_set = mysql_query($query, $connection);
confirm_query($portfolio_videos_set);
while ($portfolio_video = mysql_fetch_array($portfolio_videos_set)) {
    echo "<iframe src=\"http://player.vimeo.com/video/";
    echo $portfolio_video['video_code'];
    echo "?title=0&amp;byline=0&amp;portrait=0&amp;color=ffffff\" width=\"400\" height=\"230\" frameborder=\"0\" webkitAllowFullScreen mozallowfullscreen allowFullScreen></iframe><br />";
    echo "<a href=\"edit_portfolio_video.php?videocode={$portfolio_video['video_code']}\">Edit this Video</a>";
    }
}
}

然后

$selected_video = get_selected_video_by_id($_GET['videocode']);
要将与所选视频相关的各种数据放入编辑表单中,请执行以下操作:

<form action="edit_portfolio_video.php?videoid=<?php echo $selected_video['video_code']; ?>" method="post">
            <input type="text" name="video_title" value="<?php echo $selected_video['video_title']; ?>" />  
            </p>
            <p>Video Code (vimeo):<br />
            <input type="text" name="video_code" value="<?php echo $selected_video['video_code']; ?>" />
            </p>
            <p>Video Description:<br/>
            <textarea name="video_description" rows="5" cols="70"><?php echo $selected_video['video_description']; ?></textarea>    
            </p>
            <p>
            <input type="submit" name="submit" value="Save Video" />    
            </p>
</form>

}

我认为您应该尝试使用此方法来执行get\u selected\u video\u by\u id SQL查询

$query = "SELECT * FROM portfolio_videos WHERE video_code = ".$video_code;

当然注意参数中的SQL注入,并且,正如已经提出的建议,请考虑使用PDO或MySQL.< /P> < P>您的表单看起来很奇怪: 您正在使用POST模式传递GET值(edit_portfolio_video.php?videoid=…等)。 但这不应该是问题所在

在这方面:

$selected_video=get_selected_video_by_id($_get['videocode'])


您确定要传递的GET参数是videocode吗?还是videoid?

您确认$video不是空的吗?(您确定通过\u id获取\u selected\u video\u实际返回视频吗?)我刚刚添加了confirm\u query()函数定义。请不要使用
mysql\u*
函数编写新代码。它们不再得到维护,社区已经开始。看到了吗?相反,你应该学习并使用或。如果你不能决定哪一个,我会帮你的。如果你选择PDO,.@MadaraUchiha:注意,在当前稳定的PHP版本中,他们还没有为这些函数添加
E_DEPRECATED
。它们可能被用于网络上所有活动PHP代码的一半。lolI同意,但我是一个初学者,当我开始学习PHP时,w3schools成绩最好并不是我的错。然而。。。你能帮我回答第一个问题吗?(lol)我已经试过了,但是我得到了以下错误:“数据库查询失败:您的SQL语法有错误;请查看与您的MySQL服务器版本对应的手册,以获得在第1行的“LIMIT 1”附近使用的正确语法”。哎呀。你的视频代码不是唯一的吗?然后去掉查询的limit1部分$query=“从组合视频中选择*,其中video\u code=“.$video\u code;视频编码不是唯一的。我尝试了你的建议,但我得到了这个错误:“数据库查询失败:您的SQL语法有错误;请检查与您的MySQL服务器版本对应的手册,在第1行的“”附近使用正确的语法。尝试将视频代码强制转换为一个整数,如$video\u code=(int)$video\u代码。同时,为什么视频代码不是唯一的?对我来说没什么意义。如果不是唯一的,在给定ID代码的情况下,您的应用程序如何知道要加载哪些vimeo视频-/你是说intval()吗?视频代码是唯一的,因为每个vimeo代码都是唯一的。但是在MySQL中视频代码并没有设置为“唯一”字段。啊哈!我甚至没有看到表单中的POST/GET内容。OP中的代码有太多错误。是的,我传递的是视频代码,而不是视频id。我应该重命名此函数,因为我最初使用其数据库id将所选视频的代码传递到URL中。
function confirm_query($result_set) {
if (!$result_set) {
    die("Database query failed: " . mysql_error());
}
$query = "SELECT * FROM portfolio_videos WHERE video_code = ".$video_code;