首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >PHP -未定义变量-从MySQL数据库获取值

PHP -未定义变量-从MySQL数据库获取值
EN

Stack Overflow用户
提问于 2012-03-26 16:27:10
回答 6查看 258关注 0票数 0

我正在尝试创建一个从数据库中检索值的函数,但我得到的错误是var is undefined。我读到过你可以将php的错误级别设置得更低,但在我看来这不是一个好的做法。

我试着把未定义的变量作为参数传递,我试着给它一个标准值。但我似乎不理解这里的概念。

代码是这样的:$Playlist是未定义的,屏幕上会打印出一些出错的信息

代码语言:javascript
复制
function returnPlaylistIndex(){

    $con = mysql_connect("localhost", "user", "pass") or die(mysql_error()); 
    if(!$con){
        mysql_select_db("dbname") or die(mysql_error()); 
        $result = mysql_query("SELECT * FROM dbname limit 1");  
    while($row = mysql_fetch_array($result))
    {
        $PlayList = $row['playlistIndex'];
    }
mysql_close($con);
}
if(isset($Playlist)){
    echo $Playlist."<br />";
    return $Playlist;
} else {
    echo "something went wrong while quering";
}
}

任何帮助我们都将不胜感激

EN

回答 6

Stack Overflow用户

回答已采纳

发布于 2012-03-26 16:32:00

由于这个拼写错误,您当前的代码实际上永远不会去查询数据库:

代码语言:javascript
复制
if(!$con){  // MEANT TO WRITE $con

由于连接总是良好的(否则,前一行中的die将停止脚本--这实际上使条件变得冗余),所以此条件将始终失败,并且$PlayList将永远不会被设置。

除此之外,请注意您对变量使用了两种不同的命名样式:$PlayList (驼峰式大小写)和$Playlist (仅大写第一个字母)。

也就是说,我仍然不理解为什么在这个函数中会出现错误消息,因为您实际上是在使用isset进行测试。你能提供实际的错误并指出它发生的那一行吗?

票数 3
EN

Stack Overflow用户

发布于 2012-03-26 16:32:32

使用$PlayList$Playlist,但不能混合使用。

变量区分大小写。

票数 2
EN

Stack Overflow用户

发布于 2012-03-26 16:31:29

以下内容似乎有问题:

代码语言:javascript
复制
  $result = mysql_query("SELECT * FROM dbname limit 1");  

dbname应为table名称,请检查。确保您的查询返回的是结果,尝试在控制台上运行。

并在while循环之前初始化$PlayList数组:

喜欢:$PlayList=array();

php变量区分大小写。请检查它们是否应在同一大小写中。

代码语言:javascript
复制
if(isset($PlayList)){
    echo $PlayList."<br />";
    return $PlayList;
} else {
    echo "something went wrong while quering";
}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9868815

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档