首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >php & mysql数据库拉错

问php & mysql数据库拉错
EN

Stack Overflow用户
提问于 2014-03-13 12:37:57
回答 3查看 248关注 0票数 0

你好,我有一个网站,我在php中编码。我有一个数据库附在上面。我试图让它从数据库中读取数据到页面中。我把数据库分成几个表。我认为我已经正确地完成了代码,但是我一直在获取以下错误代码:

警告: mysqli_query()期望参数1是mysqli,在第13行的C:\xampp\htdocs\stadium\alpha\a.php中给出的整数 警告: mysqli_fetch_all()期望参数1为mysqli_result,在第14行的C:\xampp\htdocs\stadium\alpha\a.php中为null 注意:尝试在第15行的C:\xampp\htdocs\stadium\alpha\a.php中获取非对象的属性。 警告: mysqli_fetch_all()期望参数1为mysqli_result,在第16行的C:\xampp\htdocs\stadium\alpha\a.php中为null

我试着研究这个问题已经有一段时间了,我就是不能把这件事搞清楚。我的数据拉出和显示代码如下:

代码语言:javascript
复制
$sql = "SELECT colConferenceName.tblConference, colSchoolName.tblSchool, colClass.tblSchool, colSurfaceName.tblSurface, colSurfaceCompany.tblSurface, colStadiumName.tblStadium, colAddress.tblStadium, colCity.tblStadium, colRegion.tblStadium, colCounty.tblStadium, colCapacity.tblStadium, colSurfaceYear.tblSurface FROM tblStadium, tblConference, tblSurface, tblSchool WHERE tblConference.colConferenceID = tblSchool.colConferenceID AND tblSurface.colSurfaceID = tblStadium.colSurfaceID AND tblStadium.colStadiumID = tblStadiumSchool.colStadiumID AND tblSchool.colSchoolID = tblStadiumSchool.colSchoolID AND colStadiumName LIKE 'A%' ORDER BY colSchoolName";
$schoolinfo = mysqli_query($conn,$sql);
mysqli_fetch_all($schoolinfo,MYSQLI_ASSOC);
while (!$schoolinfo->EOF){ //looping through the recordset (until End Of File) 
while ($row = mysqli_fetch_all($schoolinfo,MYSQLI_ASSOC)){
    echo '<p>School Name: ' . $row['colSchoolName'] . '</br>Conference: ' . $row['colConferenceName'] . '</br>Class: ' . $row['colClass'] . '</br>Stadium Name: ' . $row['colStadiumName'] . '</br>Address: ' . $row['colAddress'] . '</br>City: ' . $row['colCity'] . '</br>County: ' . $row['colCounty'] . '</br>Region: ' . $row['colRegion'] . '</br>Capacity: ' . $row['colCapacity'] . '</br>Surface Type: ' . $row['colSurfaceName'] . '</br>Surface Company: ' . $row['colSurfaceCompany'] . '</br>Year Installed: ' . $row['colSurfaceYear'] . '</p>';
        }
    }

如果你能帮我的话就太棒了。提前谢谢。

至于连接,它是在一个独立的连接文件中完成的。它的方式是$conn = require ('xxx_xxx.xxx');我的原则是询问输出和如何修复编码错误。我退出连接,因为我不希望人们访问文件名。我还使用它进行了大约80到100个连接,因此使用一个文件进行连接比编辑每个php文件的连接部分更有意义。另外,我发现这样它可以有更多的安全性。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2014-03-13 12:49:38

你能试试这个吗?

记住在脚本开始时设置db登录

代码语言:javascript
复制
<?php

/* connect*/
$mysqli = new mysqli("localhost", "my_user", "my_password", "db_name");

/* check connection */
if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

/* your sql query */
$query = "SELECT colConferenceName.tblConference, colSchoolName.tblSchool, ".
         "colClass.tblSchool, colSurfaceName.tblSurface, colSurfaceCompany.tblSurface, ".
         "colStadiumName.tblStadium, colAddress.tblStadium, colCity.tblStadium, ".
         "colRegion.tblStadium, colCounty.tblStadium, colCapacity.tblStadium, ".
         "colSurfaceYear.tblSurface FROM tblStadium, tblConference, tblSurface, tblSchool ".
         "WHERE tblConference.colConferenceID = tblSchool.colConferenceID AND ".
         "tblSurface.colSurfaceID = tblStadium.colSurfaceID AND ".
         "tblStadium.colStadiumID = tblStadiumSchool.colStadiumID AND ".
         "tblSchool.colSchoolID = tblStadiumSchool.colSchoolID AND ".
         "colStadiumName LIKE 'A%' ORDER BY colSchoolName";

/* query your db */
if ($result = $mysqli->query($query)) {

    /* fetch associative array */
    while ($row = $result->fetch_assoc())
    {
        /* display row */
        echo '<p>School Name: ' . 
        $row['colSchoolName'] . '</br>Conference: ' . 
        $row['colConferenceName'] . '</br>Class: ' . 
        $row['colClass'] . '</br>Stadium Name: ' . 
        $row['colStadiumName'] . '</br>Address: ' . 
        $row['colAddress'] . '</br>City: ' . 
        $row['colCity'] . '</br>County: ' . 
        $row['colCounty'] . '</br>Region: ' . 
        $row['colRegion'] . '</br>Capacity: ' . 
        $row['colCapacity'] . '</br>Surface Type: ' . 
        $row['colSurfaceName'] . '</br>Surface Company: ' . 
        $row['colSurfaceCompany'] . '</br>Year Installed: ' . 
        $row['colSurfaceYear'] . '</p>';
    }

    /* free result set */
    $result->free();
}

/* close connection */
$mysqli->close();

?>
票数 0
EN

Stack Overflow用户

发布于 2014-03-13 12:41:51

我没有看到你连接到mysql的时间点。试试连接

代码语言:javascript
复制
$conn = mysqli_connect('<your-host>','<your-username>','<your-password>','<your-databasename>').
票数 1
EN

Stack Overflow用户

发布于 2014-03-13 12:52:42

您需要首先连接到mysql服务器:

$con = mysqli_connect($host,$username,$password);

然后您需要选择要使用的数据库:$db = mysqli_db_select($database);

您还必须设置正确的参数:$host、$username、$password和$database,并且必须首先配置mysql服务器以接受连接。

那么,为什么不尝试使用php框架呢?

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/22378913

复制
相关文章

相似问题

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