相关疑难解决方法(0)

为什么我不应该在PHP中使用mysql_*函数?

为什么一个人不应该使用mysql_*功能的技术原因是什么?(例如mysql_query(),mysql_connect()mysql_real_escape_string())?

即使他们在我的网站上工作,为什么还要使用其他东西?

如果他们不在我的网站上工作,为什么我会收到错误

警告:mysql_connect():没有这样的文件或目录

php mysql database

2432
推荐指数
12
解决办法
21万
查看次数

参考 - 这个错误在PHP中意味着什么?

这是什么?

这是关于编程PHP时可能遇到的警告,错误和通知的一些答案,并且不知道如何修复.这也是社区Wiki,因此邀请每个人参与添加和维护此列表.

为什么是这样?

Stack Overflow上经常弹出诸如"已发送标头""调用非对象成员"之类的问题.这些问题的根本原因总是一样的.因此,这些问题的答案通常会重复,然后显示OP在他/她的特定情况下要改变哪一行.这些答案不会为网站添加任何价值,因为它们仅适用于OP的特定代码.具有相同错误的其他用户不能轻易地从中读取解决方案,因为它们过于本地化.这很难过,因为一旦你理解了根本原因,修复错误是微不足道的.因此,该列表试图以一般的方式解释解决方案.

我该怎么办?

如果您的问题已被标记为重复,请在下面找到您的错误消息并将修复程序应用于您的代码.答案通常包含进一步调查的链接,以防单独的一般答案不清楚.

如果您想贡献,请添加您的"收藏"错误消息,警告或通知,每个答案一个,简短说明它意味着什么(即使它只是突出显示其手册页的术语),可能的解决方案或调试方法和现有问答的清单.此外,随时改善任何现有的答案.

列表

另外,请参阅

php oop debugging warnings

1071
推荐指数
35
解决办法
19万
查看次数

围绕mysql_real_escape_string()的SQL注入

即使使用mysql_real_escape_string()函数,是否存在SQL注入的可能性?

考虑这个示例情况.SQL是用PHP构造的,如下所示:

$login = mysql_real_escape_string(GetFromPost('login'));
$password = mysql_real_escape_string(GetFromPost('password'));

$sql = "SELECT * FROM table WHERE login='$login' AND password='$password'";
Run Code Online (Sandbox Code Playgroud)

我听过很多人对我说,这样的代码仍然很危险,即使使用了mysql_real_escape_string()函数也可以破解.但我想不出任何可能的漏洞?

像这样的经典注射:

aaa' OR 1=1 --
Run Code Online (Sandbox Code Playgroud)

不工作.

你知道任何可能通过上面的PHP代码注入的注入吗?

php mysql sql security sql-injection

596
推荐指数
4
解决办法
22万
查看次数

如何在不同的环境中获取MySQLi错误信息

在我的本地/开发环境中,MySQLi查询执行正常.但是,当我在我的Web主机环境中上传它时,我收到此错误:

致命错误:在...中的非对象上调用成员函数bind_param()

这是代码:

global $mysqli;
$stmt = $mysqli->prepare("SELECT id, description FROM tbl_page_answer_category WHERE cur_own_id = ?");
$stmt->bind_param('i', $cur_id);
$stmt->execute();
$stmt->bind_result($uid, $desc);
Run Code Online (Sandbox Code Playgroud)

为了检查我的查询,我试图通过控制面板phpMyAdmin执行查询,结果是OK.

php environment mysqli error-reporting prepared-statement

85
推荐指数
1
解决办法
1万
查看次数

警告:mysql_fetch_array():提供的参数不是有效的MySQL结果

我在尝试运行时遇到错误:

<?php
require_once('includes/DbConnector.php');
$connector = new DbConnector();
$result = $connector->query('SELECT title,content FROM staff_vacancies ORDER BY ordering LIMIT 0,100');
// Get an array containing the results.
// Loop for each item in that array
while ($row = $connector->fetchArray($result)){

echo $row['title'].'</h3>';
echo $row['content'];
}
?>
Run Code Online (Sandbox Code Playgroud)

我有一个链接文件:DbConnector.php:

<?php
////////////////////////////////////////////////////////////////////////////////////////
// Class: DbConnector
// Purpose: Connect to a database, MySQL version
///////////////////////////////////////////////////////////////////////////////////////
require_once 'SystemComponent.php';

class DbConnector extends SystemComponent {

var $theQuery;
var $link;

//*** Function: DbConnector, Purpose: Connect to the database ***
function DbConnector(){ …
Run Code Online (Sandbox Code Playgroud)

php mysql

41
推荐指数
1
解决办法
2万
查看次数

PHP和MySQL:mysqli_num_rows()期望参数1为mysqli_result,给定布尔值

我正在尝试集成HTML Purifier http://htmlpurifier.org/来过滤我的用户提交的数据,但我在下面收到以下错误.我想知道如何解决这个问题?

我收到以下错误.

on line 22: mysqli_num_rows() expects parameter 1 to be mysqli_result, boolean given 
Run Code Online (Sandbox Code Playgroud)

第22行是.

if (mysqli_num_rows($dbc) == 0) {
Run Code Online (Sandbox Code Playgroud)

这是php代码.

if (isset($_POST['submitted'])) { // Handle the form.

    require_once '../../htmlpurifier/library/HTMLPurifier.auto.php';

    $config = HTMLPurifier_Config::createDefault();
    $config->set('Core.Encoding', 'UTF-8'); // replace with your encoding
    $config->set('HTML.Doctype', 'XHTML 1.0 Strict'); // replace with your doctype
    $purifier = new HTMLPurifier($config);


    $mysqli = mysqli_connect("localhost", "root", "", "sitename");
    $dbc = mysqli_query($mysqli,"SELECT users.*, profile.*
                                 FROM users 
                                 INNER JOIN contact_info ON contact_info.user_id = users.user_id 
                                 WHERE users.user_id=3");

    $about_me = …
Run Code Online (Sandbox Code Playgroud)

php mysql

41
推荐指数
2
解决办法
37万
查看次数

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

我在检查我的数据库中是否已经存在Facebook User_id时遇到了一些问题(如果不存在,那么它应该接受用户作为新用户,否则只需加载画布应用程序).我在我的托管服务器上运行它并没有问题,但在我的localhost上它给了我以下错误:

mysqli_fetch_array() expects parameter 1 to be mysqli_result, boolean given in
Run Code Online (Sandbox Code Playgroud)

这是我的代码:

<?
$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, …
Run Code Online (Sandbox Code Playgroud)

php mysql mysqli boolean

37
推荐指数
1
解决办法
35万
查看次数

致命错误:在非对象上调用成员函数fetch_assoc()

我正在尝试执行一些查询以获取有关某些图像的信息页面.我写了一个函数

function get_recent_highs($view_deleted_images=false)
{
    $lower = $this->database->conn->real_escape_string($this->page_size * ($this->page_number - 1));
    $query = "SELECT image_id, date_uploaded FROM `images` ORDER BY ((SELECT SUM( image_id=`images`.image_id ) FROM `image_votes` AS score) / (SELECT DATEDIFF( NOW( ) , date_uploaded ) AS diff)) DESC LIMIT " . $this->page_size . " OFFSET $lower"; //move to database class
    $result = $this->database->query($query);
    $page = array();
    while($row = $result->fetch_assoc())
    {
        try
        {
            array_push($page, new Image($row['image_id'], $view_deleted_images));
        }
        catch(ImageNotFoundException $e)
        {
            throw $e;
        }
    }
    return $page;
}
Run Code Online (Sandbox Code Playgroud)

根据其受欢迎程度选择这些图像的页面.我编写了一个Database …

php mysqli

30
推荐指数
2
解决办法
15万
查看次数

Apple推送通知服务

我试图使用本地mac机器运行,但出现以下错误

Warning: stream_socket_client() [function.stream-socket-client]: Unable to set private key file `/Applications/XAMPP/xamppfiles/htdocs/apns/apns-dev.pem’ in /Applications/XAMPP/xamppfiles/htdocs/apns/apns.php on line 9

Warning: stream_socket_client() [function.stream-socket-client]: failed to create an SSL handle in /Applications/XAMPP/xamppfiles/htdocs/apns/apns.php on line 9

Warning: stream_socket_client() [function.stream-socket-client]: Failed to enable crypto in /Applications/XAMPP/xamppfiles/htdocs/apns/apns.php on line 9

Warning: stream_socket_client() [function.stream-socket-client]: unable to connect to ssl://gateway.sandbox.push.apple.com:2195 (Unknown error) in /Applications/XAMPP/xamppfiles/htdocs/apns/apns.php on line 9

Warning: socket_close() expects parameter 1 to be resource, boolean given in /Applications/XAMPP/xamppfiles/htdocs/apns/apns.php on line 11

Warning: fclose() expects parameter 1 to be resource, …
Run Code Online (Sandbox Code Playgroud)

php macos openssl apple-push-notifications

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

警告:mysql_fetch_array()要求参数1为resource,boolean给出

可能重复:
PHP:警告:sort()期望参数1是数组,给定资源

请帮忙,

我得到以下错误:

警告:mysql_fetch_array()期望参数1是资源,在......中给出布尔值

这是我的查询:

$query = "SELECT ListNumber FROM residential"; 
$result1 = mysql_query($query); 
    if (mysql_num_rows($result1) >10){ 
        $difference = mysql_num_rows($result1) - 10; 
        $myQuery = "SELECT * FROM `residential` ORDER BY `id` LIMIT 10,". $difference; 
        $result2 = mysql_query($myQuery); 
echo $result2;
        $replace =  str_replace(", "," | ", $result2);
    while ($line = mysql_fetch_array($result2, MYSQL_BOTH))
Run Code Online (Sandbox Code Playgroud)

php mysql

13
推荐指数
1
解决办法
22万
查看次数