GVKun编程网logo

mysql_fetch_array()期望参数1是资源问题[重复]

14

以上就是给各位分享mysql_fetch_array,其中也会对期望参数1是资源问题[重复]进行解释,同时本文还将给你拓展array_slicemysql_fetch_row,mysql_fetch_

以上就是给各位分享mysql_fetch_array,其中也会对期望参数1是资源问题[重复]进行解释,同时本文还将给你拓展array_slice mysql_fetch_row,mysql_fetch_array,mysql_fetch_assoc的区别、mysqli_fetch_array()期望参数1为mysqli_result,在[duplicate]中给出布尔值、mysqli_fetch_assoc()期望参数1为mysqli_result,给定布尔值、mysql_fetch_array vs mysql_fetch_assoc vs mysql_fetch_object?等相关知识,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!

本文目录一览:

mysql_fetch_array()期望参数1是资源问题[重复]

mysql_fetch_array()期望参数1是资源问题[重复]

我不明白,我在这段代码中没有看到任何错误,但是有这个错误,请帮助:
mysql_fetch_array()期望参数1是资源问题

<?php      $con = mysql_connect("localhost","root","nitoryolai123$%^");    if (!$con)      {      die(''Could not connect: '' . mysql_error());      }    mysql_select_db("school", $con);       $result = mysql_query("SELECT * FROM student WHERE IDNO=".$_GET[''id'']);    ?>                           <?php while ($row = mysql_fetch_array($result)) { ?>                                                  <tableborder="0" align="center" cellpadding="0" cellspacing="1" bgcolor="#D3D3D3">    <tr>    <form name="formcheck" method="get" action="updateact.php" onsubmit="return formCheck(this);">    <td>    <table  border="0" cellpadding="3" cellspacing="1" bgcolor="">    <tr>    <td  colspan="16" height="25"><strong><font size="2">Update Students</td>    <tr>    <td width="30" height="35"><font size="2">*I D Number:</td>    <td width="30"><input  name="idnum" onkeypress="return isNumberKey(event)" type="text" maxlength="5" id=''numbers''/ value="<?php echo $_GET[''id'']; ?>"></td>    </tr>    <tr>    <td width="30" height="35"><font size="2">*Year:</td>    <td width="30"><input  name="yr" onkeypress="return isNumberKey(event)" type="text" maxlength="5" id=''numbers''/ value="<?php echo $row["YEAR"]; ?>"></td><?php } ?>

我只是想在表单中加载数据,但不知道为什么会出现该错误。这里可能有什么错误?

答案1

小编典典

调用mysql_query之后,您没有执行
错误检查

$result = mysql_query("SELECT * FROM student WHERE IDNO=".$_GET[''id'']);if (!$result) { // add this check.    die(''Invalid query: '' . mysql_error());}

万一mysql_query失败,它将返回false一个boolean值。当您将此传递给mysql_fetch_array函数(要求mysqlresult object)时,我们会收到此错误。

array_slice mysql_fetch_row,mysql_fetch_array,mysql_fetch_assoc的区别

array_slice mysql_fetch_row,mysql_fetch_array,mysql_fetch_assoc的区别

复制代码 代码如下:


$link=mysql_connect(''localhost'',''root'',”);
mysql_select_db(''abc'',$link);
$sql = “select * from book”;
$result = mysql_query($sql);
while($row = mysql_fetch_row($result))
{
echo $row[''cid''].''::''.$row[1].''
'';
}
$result = mysql_query($sql);
while($row = mysql_fetch_array($result))
{
echo $row[''cid''].''::''.$row[1].''
'';
}
$result = mysql_query($sql);
while($row = mysql_fetch_object($result))
{
echo $row->cid.''::''.$row->title.”
”;
}
$result = mysql_query($sql);
while($row = mysql_fetch_assoc($result))
{
echo $row[''cid''].''::''.$row[1].''
'';
}
?>


分析:
mysql_fetch_row,这个函数是从结果集中取一行作为枚举数据,从和指定的结果标识关联的结果集中取得一行数据并作为数组返回。每个结果的列储存在一个数组的单元中,偏移量从 0 开始。 注意,这里是从0开始偏移,也就是说不能用字段名字来取值,只能用索引来取值,所以如下代码是取不到值的:
while($row = mysql_fetch_row($res)){
echo $row[''cid''].''::''.$row[1].”;
} //这里的$row[''cid''] 取不到值。
mysql_fetch_array,从结果集中取得一行作为关联数组,或数字数组,或二者兼有,除了将数据以数字索引方式储存在数组中之外,还可以将数据作为关联索引储存,用字段名作为键名。 也就是说他得到的结果像数组一样,可以用key或者索引来取值,所以
while($row = mysql_fetch_array($res)){
echo $row[''cid''].''::''.$row[1].”;
}//这里$row[''cid''],$row[1]都能得到相应的值。
mysql_fetch_object,顾名思义,从结果集中取得一行作为对象,并将字段名字做为属性。所以只有这样才能取到值
while($row = mysql_fetch_object($res)){
echo $row->cid.''::''.$row->title.”";
}
mysql_fetch_assoc,从结果集中取得一行作为关联数组,也就是说这个函数不能像mysql_fetch_row那样用索引来取值,只能用字段名字来取,所以
while($row = mysql_fetch_assoc($res)){
echo $row[''cid''].''::''.$row[1].”;
} //$row[1]这样是取不到值的
补充一点:
mysql_fetch_array函数是这样定义的:array mysql_fetch_array ( resource result [, int result_type]),返回根据从结果集取得的行生成的数组,如果没有更多行则返回 FALSE。
mysql_fetch_array() 中可选的第二个参数 result_type 是一个常量,可以接受以下值:MYSQL_ASSOC,MYSQL_NUM 和 MYSQL_BOTH。其中:
1、mysql_fetch_assoc($result)==mysql_fetch_array($result,MYSQL_ASSOC);
2、mysql_fetch_row($result)==mysql_fetch_array($result,MYSQL_NUM);
所以mysql_fetch_array()函数在某种程度上可以算是mysql_fetch_row()与 mysql_fetch_assoc()的集合。另外,mysql_fetch_array()另外还有MYSQL_BOTH参数,将得到一个同时包含关 联和数字索引的数组。
在来说句 $row = $db->fetch_array($query);
$db是人数据库操作类,$db->fetch_array($query),fetch_array($query)是那个db类里的方法,$row = $db->fetch_array($query)这句的意思是从记录集$query中得到数据库中的一行记录。
不用类可这样实现

复制代码 代码如下:


$c
@mysql_select_db($database,$conn);
$query=mysql_query($sql);
while($row=mysql_fetch_array($query)){
$rows[]=$row;
}

以上就介绍了array_slice mysql_fetch_row,mysql_fetch_array,mysql_fetch_assoc的区别,包括了array_slice方面的内容,希望对PHP教程有兴趣的朋友有所帮助。

mysqli_fetch_array()期望参数1为mysqli_result,在[duplicate]中给出布尔值

mysqli_fetch_array()期望参数1为mysqli_result,在[duplicate]中给出布尔值

这个问题已经在这里有了答案

mysqli_fetch_assoc()期望参数/调用成员函数bind_param()错误。如何获取并修复实际的mysql错误? (1个答案)

7年前关闭。

我在检查数据库中是否已存在Facebook
User_id时遇到了一些麻烦(如果不存在,则应将用户作为新用户接受,否则仅加载canvas应用程序)。我在托管服务器上运行了它,没有问题,但是在我的本地主机上,它给了我以下错误:

mysqli_fetch_array()期望参数1为mysqli_result,布尔值在

这是我的代码:

<?$fb_id = $user_profile[''id''];$locale = $user_profile[''locale''];if ($locale == "nl_NL") {    // Checking User Data @ WT-Database    $check1_task = "SELECT * FROM `users` WHERE `fb_id` = " . $fb_id . " LIMIT 0, 30 ";    $check1_res = mysqli_query($con, $check1_task);    $checken2 = mysqli_fetch_array($check1_res);    print $checken2;    // If the user does not exist @ WT-Database -> insert    if (!($checken2)) {        $add = "INSERT INTO users (fb_id, full_name, first_name, last_name, email) VALUES (''$fb_id'', ''$full_name'', ''$first_name'', ''$last_name'', ''$email'')";        mysqli_query($con, $add);    }    // Double-check, the user won''t be able to load the app on failure inserting to the database    if (!($checken2)) {        echo "Excuse us " . $first_name . ". Something went terribly wrong! Please try again later!";        exit;    }} else {    include (''sorrylocale.html'');    exit;}

我读过它与我的查询错误有关,但是它已在我的托管服务提供商上起作用,所以不可能!

答案1

小编典典

该查询失败并返回false

将其放在后面mysqli_query()以查看发生了什么。

if (!$check1_res) {    printf("Error: %s\n", mysqli_error($con));    exit();}

欲获得更多信息:

http://www.php.net/manual/zh/mysqli.error.php

mysqli_fetch_assoc()期望参数1为mysqli_result,给定布尔值

mysqli_fetch_assoc()期望参数1为mysqli_result,给定布尔值

如何解决mysqli_fetch_assoc()期望参数1为mysqli_result,给定布尔值?

当您的结果不是结果(而是“ false”)时,就会发生这种情况。您应该更改此行

$sql = ''SELECT * FROM $usertable WHERE PartNumber = $partid'';

对此:

$sql = "SELECT * FROM $usertable WHERE PartNumber = $partid";

因为“可以解释$变量,而’不能。

适用于整数(数字),对于字符串,您需要将$ variable放在单引号中,例如

$sql = "SELECT * FROM $usertable WHERE PartNumber = ''$partid'' ";

如果要/必须使用单引号,则PHP无法解释变量,则必须这样做:

 $sql = ''SELECT * FROM ''.$usertable.'' WHERE string_column = "''.$string.''" AND integer_column = ''.$number.'';

解决方法

我对PHP和MySQL还是很陌生,但是我无法弄清楚这一点。我在论坛周围搜索了所有内容,但没有找到我能理解的答案。我最初使用的是mysql_fetch_assoc(),但我只能搜索数字,并且在搜索字母时也收到错误。我希望我在正确的轨道上。预先感谢您的所有帮助!

$con = mysqli_connect($hostname,$username,$password) or die ("<script language=''javascript''>alert(''Unable to connect to database'')</script>");
mysqli_select_db($con,$dbname);

if (isset($_GET[''part''])){
    $partid = $_GET[''part''];
    $sql = ''SELECT * 
        FROM $usertable 
        WHERE PartNumber = $partid'';

    $result = mysqli_query($con,$sql);
    $row = mysqli_fetch_assoc($result);

    $partnumber = $partid;
    $nsn = $row["NSN"];
    $description = $row["Description"];
    $quantity = $row["Quantity"];
    $condition = $row["Conditio"];
}

mysql_fetch_array vs mysql_fetch_assoc vs mysql_fetch_object?

mysql_fetch_array vs mysql_fetch_assoc vs mysql_fetch_object?

mysql_fetch_array vs mysql_fetch_assoc vs mysql_fetch_object?

这些 mysql_* 函数已弃用,并且可以使用其他函数来提供更好的安全性和功能。

注意:作为替代方案,可以使用 _assoc 或 _row。

mysql_fetch_assoc

该函数返回与所获取的行相对应的字符串关联数组,如果没有更多行,则返回 FALSE。关联性数组告诉我们键值对,而键告诉我们任何列名称,值告诉我们行值。

这里我们可以将列名映射为键,将值映射为行。例如。

Key is ID and value is corresponding name.
登录后复制

mysql_fetch_array

​​>

这个函数名称表明它返回一个数组。它将结果行作为关联数组、数值数组或两者来获取。它的键既有数字值,也有字符串值。

mysql_fetch_object

此函数将行作为对象返回,并且不返回数组。

以上就是mysql_fetch_array vs mysql_fetch_assoc vs mysql_fetch_object?的详细内容,更多请关注php中文网其它相关文章!

今天关于mysql_fetch_array期望参数1是资源问题[重复]的介绍到此结束,谢谢您的阅读,有关array_slice mysql_fetch_row,mysql_fetch_array,mysql_fetch_assoc的区别、mysqli_fetch_array()期望参数1为mysqli_result,在[duplicate]中给出布尔值、mysqli_fetch_assoc()期望参数1为mysqli_result,给定布尔值、mysql_fetch_array vs mysql_fetch_assoc vs mysql_fetch_object?等更多相关知识的信息可以在本站进行查询。

本文标签: