小编Abr*_*ver的帖子

mysql_fetch_array()/ mysql_fetch_assoc()/ mysql_fetch_row()/ mysql_num_rows等...期望参数1是资源或结果

我试图从MySQL表中选择数据,但我收到以下错误消息之一:

mysql_fetch_array()期望参数1是资源,给定布尔值

要么

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

要么

在布尔/非对象上调用成员函数fetch_array()

这是我的代码:

$username = $_POST['username'];
$password = $_POST['password'];

$result = mysql_query('SELECT * FROM Users WHERE UserName LIKE $username');

while($row = mysql_fetch_array($result)) {
    echo $row['FirstName'];
}
Run Code Online (Sandbox Code Playgroud)

这同样适用于代码

$result = mysqli_query($mysqli, 'SELECT ...');
// mysqli_fetch_array() expects parameter 1 to be mysqli_result, boolean given
while( $row=mysqli_fetch_array($result) ) {
    ...
Run Code Online (Sandbox Code Playgroud)

$result = $mysqli->query($mysqli, 'SELECT ...');
// Call to a member function fetch_assoc() on a non-object
while( $row=$result->fetch_assoc($result) ) {
    ...
Run Code Online (Sandbox Code Playgroud)

$result = $pdo->query('SELECT ...', PDO::FETCH_ASSOC);
// Invalid …
Run Code Online (Sandbox Code Playgroud)

php mysql

938
推荐指数
29
解决办法
74万
查看次数

转换日期格式yyyy-mm-dd => dd-mm-yyyy

我试图将日期从yyyy-mm-dd转换为dd-mm-yyyy(但不是在SQL中); 但我不知道日期函数如何需要时间戳,我无法从此字符串中获取时间戳.

这怎么可能?

php formatting date

470
推荐指数
13
解决办法
157万
查看次数

file_get_contents():SSL操作失败,代码为1.还有更多

我一直在尝试从我在服务器上创建的PHP页面访问这个特定的REST服务.我将问题缩小到这两行.所以我的PHP页面如下所示:

<?php
$response = file_get_contents("https://maps.co.weber.ut.us/arcgis/rest/services/SDE_composite_locator/GeocodeServer/findAddressCandidates?Street=&SingleLine=3042+N+1050+W&outFields=*&outSR=102100&searchExtent=&f=json");

echo $response; ?>
Run Code Online (Sandbox Code Playgroud)

该页面在第2行死亡,并出现以下错误:

  • 警告:file_get_contents():SSL操作失败,代码为1. OpenSSL错误消息:错误:14090086:SSL例程:SSL3_GET_SERVER_CERTIFICATE:证书验证失败...第2行的php
    • 警告:file_get_contents():无法在第2行的... php中启用加密
    • 警告:file_get_contents(https://maps.co.weber.ut.us/arcgis/rest/services/SDE_composite_locator/GeocodeServer/findAddressCandidates?Street=&SingleLine=3042+N+1050+W&outFields=*&outSR=102100&searchExtent=&f=json):无法打开流:第2行的... php操作失败

我们正在使用Gentoo服务器.我们最近升级到PHP 5.6版.升级后出现此问题.

我发现,当我一个地址替换REST服务一样https://www.google.com; 我的页面工作正常.

在我之前的一次尝试中,我将“verify_peer”=>false其作为参数传递给file_get_contents,如下所述: file_get_contents忽略verify_peer => false? 但就像作者所指出的那样; 它没有任何区别.

我问过我们的服务器管理员是否存在php.ini文件中的这些行:

  • 延长= php_openssl.dll
  • allow_url_fopen =开

他告诉我,因为我们在Gentoo上,openssl是在我们构建时编译的; 并且它没有在php.ini文件中设置.

我也证实这allow_url_fopen是有效的.由于这个问题的专业性; 我没有找到很多帮助信息.有没有人遇到过这样的事情?谢谢.

php rest ssl file-get-contents

163
推荐指数
14
解决办法
25万
查看次数

json_encode()转义正斜杠

我从Instagram上拉JSON:

$instagrams = json_decode($response)->data;

然后将变量解析为PHP数组以重构数据,然后重新编码和缓存文件:

file_put_contents($cache,json_encode($results));

当我打开缓存文件时,所有正斜杠"/"都被转义:

http:\/\/distilleryimage4.instagram.com\/410e7...

我从搜索中收集json_encode()自动执行此操作...有没有办法禁用它?

php json

158
推荐指数
2
解决办法
13万
查看次数

使var_dump看起来很漂亮

我有一个简单的$_GET[]查询var set,用于在从DB下拉查询时显示测试数据.

<?php if($_GET['test']): ?>
  <div id="test" style="padding: 24px; background: #fff; text-align: center;">  
    <table>
      <tr style="font-weight: bold;"><td>MLS</td></tr>
      <tr><td><?php echo KEY; ?></td></tr>
      <tr style="font-weight: bold;"><td>QUERY</td></tr>
      <tr><td><?php echo $data_q; ?></td></tr>
      <tr style="font-weight: bold;"><td>DATA</td></tr>
      <tr><td><?php var_dump($data); ?></td></tr>
    </table>    
</div>
<?php endif; ?>
Run Code Online (Sandbox Code Playgroud)

当我这样做的时候var_dump,正如预期的那样,这个大阵列的字符串都被一起刷了.有没有办法至少为此添加换行符或var_dump以更可读的方式显示?我对jQuery有关在发布后操纵字符串的建议持开放态度.

php arrays var-dump

115
推荐指数
6
解决办法
12万
查看次数

为什么我不能在PHP的DateTime类中访问DateTime-> date?这是一个错误吗?

使用DateTime该类,如果我尝试运行以下代码:

$mydate = new DateTime();
echo $mydate->date;
Run Code Online (Sandbox Code Playgroud)

我会收到此错误消息

注意:未定义的属性:DateTime :: $ date ...

这没有意义,因为在运行var_dump()变量时$mydate,它清楚地表明此属性存在且可公开访问:

var_dump($mydate);

object(DateTime)[1]
  public 'date' => string '2012-12-29 17:19:25' (length=19)
  public 'timezone_type' => int 3
  public 'timezone' => string 'UTC' (length=3)
Run Code Online (Sandbox Code Playgroud)

这是PHP中的错误还是我做错了什么?我正在使用PHP 5.4.3.

php datetime

82
推荐指数
3
解决办法
4万
查看次数

如何更换换行符或\ r \n与<br/>?

试图简单地替换一些新的线条.尝试了3种不同的方式,我没有改变:

$description = preg_replace('/\r?\n|\r/','<br/>', $description);
$description = str_replace(array("\r\n","\r","\n"),"<br/>", $description);
$description = nl2br($description);
Run Code Online (Sandbox Code Playgroud)

这些应该都可以工作,但我仍然得到换行符.它们是双重的:"\ r \n".这不应该使这些失败对吗?

html php line-breaks nl2br

68
推荐指数
6
解决办法
18万
查看次数

可以在PHP 5.2中将方法用作array_map函数吗?

我想做这样的事情:

class Cls {
  function fun($php) {
    return 'The rain in Spain.';
  }
}

$ar = array(1,2,3);
$instance = new Cls();
print_r(array_map('$instance->fun', $ar));
               // ^ this won't work

但是array_map的第一个参数应该是函数的名称.我想避免在$ instance-> fun周围写一个包装函数,但看起来这似乎不太可能.真的吗?

php methods array-map

62
推荐指数
3
解决办法
3万
查看次数

如何删除多个UTF-8 BOM序列

使用PHP5(cgi)从文件系统输出模板文件,并且有问题吐出原始HTML.

private function fetch($name) {
    $path = $this->j->config['template_path'] . $name . '.html';
    if (!file_exists($path)) {
        dbgerror('Could not find the template "' . $name . '" in ' . $path);
    }
    $f = fopen($path, 'r');
    $t = fread($f, filesize($path));
    fclose($f);
    if (substr($t, 0, 3) == b'\xef\xbb\xbf') {
        $t = substr($t, 3);
    }
    return $t;
}
Run Code Online (Sandbox Code Playgroud)

即使我已经添加了BOM修复程序,我仍然遇到Firefox接受它的问题.你可以在这里看到一个实时的副本:http://ircb.in/jisti/(如果你想查看它,我在http://ircb.in/jisti/home.html投掷的模板文件)

知道如何解决这个问题吗?O_O

php byte-order-mark utf-8

50
推荐指数
6
解决办法
7万
查看次数

PHP错误:"无法通过引用传递参数2"

我只是需要这个PHP错误的帮助,我不太明白:

致命错误:无法在第13行的/web/stud/openup/inactivatesession.php中通过引用传递参数2

<?php

error_reporting(E_ALL);

include('connect.php');

$createDate = mktime(0,0,0,09,05,date("Y"));
$selectedDate =  date('d-m-Y', ($createDate));

$sql = "UPDATE Session SET Active = ? WHERE DATE_FORMAT(SessionDate,'%Y-%m-%d' ) <= ?";                                         
$update = $mysqli->prepare($sql);
$update->bind_param("is", 0, $selectedDate);  //LINE 13
$update->execute();

?>
Run Code Online (Sandbox Code Playgroud)

这个错误是什么意思?如何解决这个错误?

php mysql mysqli pdo

45
推荐指数
2
解决办法
7万
查看次数