小编You*_*nse的帖子

致命错误:require_once()[function.require]:需要打开失败

我在php项目中工作,它给出的错误如下:

Warning:
Run Code Online (Sandbox Code Playgroud)

require_once(ROOT_PATH/lib/confs/Conf.php)[function.require-once]:无法打开流:第20行的..\htdocs\GProject\lib\exception\ExceptionHandler.php中没有这样的文件或目录

致命错误:require_once()[function.require]:在..\htdocs\GProject\lib \中打开所需的'ROOT_PATH/lib/confs/Conf.php'(include_path ='.; C:\ php5\pear')失败第20行的异常\ ExceptionHandler.php

但在\ExceptionHandler.php文件中,第20行是

require_once ROOT_PATH . '/lib/confs/Conf.php';
Run Code Online (Sandbox Code Playgroud)

我有自己的文件Conf.php lib/confs/Conf.php,即使我收到错误.

可能是什么问题.提前致谢.

php

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

PHP匹配控制字符但不是空格?

使用POSIX字符类

如何匹配[:cntrl:]但不包括[:space:]?

$message =  ereg_replace("[[:cntrl:]]", "", $message);
Run Code Online (Sandbox Code Playgroud)

php regex

6
推荐指数
1
解决办法
1060
查看次数

PHP5 MySql和PDO异常

我在使用PDO与PHP5.4和MySql时遇到了异常.

我已经阅读了几乎所有其他帖子,博客,手册,片段,我可以与此错误相关的所有内容,并尝试了我所看到的一切,但没有运气.

所以我希望它特定于我在特定代码中做错的事情,你可以向我指出.

这是错误:

SQLSTATE [HY000]:常规错误:2014在其他未缓冲的查询处于活动状态时无法执行查询.考虑使用PDOStatement :: fetchAll().或者,如果您的代码只是针对mysql运行,则可以通过设置PDO :: MYSQL_ATTR_USE_BUFFERED_QUERY属性来启用查询缓冲.

以下是导致此错误的代码部分:

第一部分:

        $stmt = $this->dbConn->prepare("CALL getPopularProducts()");
        $stmt->execute();
        $rows = $stmt->fetchAll(\PDO::FETCH_ASSOC);

        //$stmt->closeCursor();

        foreach ($rows as $row) {
            $p = new entity\LightingPole();
             /* doing basic set stuff here so code omitted */

            // apply category to product
            $categroyTranslator = new ProductCategoryTranslator();
            $categroyTranslator->applyProductCategory($p);
Run Code Online (Sandbox Code Playgroud)

第二部分:

        public function applyProductCategory(entity\Product $product) {
            $productId = $product->getProductId();
            try {
               /** exception thrown on this line **/
               $stmt = $this->dbConn->prepare("CALL getCategoryByProductId(?)"); 

               $stmt->bindParam(1, $productId, \PDO::PARAM_INT);
               $stmt->execute();

               while ($row = $stmt->fetch(\PDO::FETCH_ASSOC)){ …
Run Code Online (Sandbox Code Playgroud)

php mysql pdo

6
推荐指数
1
解决办法
1482
查看次数

Mysqli的增强调试功能是什么?

mysqli概述页面上有一个好处列表,旨在引诱我进入mysqli领域.我甚至不理解其中许多的含义,但我真的很感兴趣:增强的调试功能.

根据我的经验,准备好的语句(被认为是主要的和主要使用的mysqli功能)使调试动态SQL变得非常困难 - 你只是不能定期查询准备好的查询,以便在控制台中复制.
所以,我很想知道这些功能是什么以及如何使用它们.
是在调试SQL还是在其他方面?
如何使用它?
什么是实际用例?

php mysql debugging mysqli

6
推荐指数
2
解决办法
1028
查看次数

如何使用MYSQLI_REPORT_STRICT使mysqli抛出异常?

mysqli中有一个函数,被称为mysqli_report(),它看起来像PDO的setAttribute()方法及其ERRMODE_*常量的对应物.手册:

MYSQLI_REPORT_STRICT Throw mysqli_sql_exception for errors instead of warnings

所以,PDO::ERRMODE_EXCEPTION考虑到,我尝试了这段代码

mysqli_report(MYSQLI_REPORT_STRICT);
$mysqli->query("foo");
Run Code Online (Sandbox Code Playgroud)

但是,令我失望的是,它没有产生任何例外或警告.

所以,这里有一个问题:有没有办法告诉mysqli在不使用的情况下抛出异常MYSQLI_REPORT_ALL

php mysql mysqli exception

6
推荐指数
2
解决办法
6676
查看次数

date_format()期望参数1为DateTime,给定字符串

我正在尝试将我的查询替换为PDO查询,我遇到日期格式问题.我需要以d/m/YH格式打印日期:i:s但是在PDO脚本运行之后它以这种格式打印日期Ymd H:i:s

    while($row = $sql -> fetch(PDO::FETCH_ASSOC))
  {
  ...
echo "<td>" . date_format( $row['date'], 'd/m/Y H:i:s'). "";"</td>";
  ...

  }
Warning: date_format() expects parameter 1 to be DateTime, string given in 
Run Code Online (Sandbox Code Playgroud)

但是,如果我将代码更改为echo "<td>" . $row['date']. "";"</td>"; 然后返回到Y-m-d H:i:s 如何获取以前的格式d/m/Y H:i:s

php datetime date date-formatting

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

Laravel:使用干预在foreach循环中上传包含图像的表单数据

我正在使用Laravel 5.1,并希望有一个带有几行文本字段的表单及其相应的图像上传.

形成:

<div id="row">
    <input name="description[]" type="text">
    <input name="image[]" type="file">
</div>
<div id="row">
    <input name="description[]" type="text">
    <input name="image[]" type="file">
</div>
Run Code Online (Sandbox Code Playgroud)

控制器:

foreach($request->description as $key => $val){

if($val != null){
    $data = new Finding;
    $data->description = $val; //save description for each loop

    $file = array('image' => Input::file('image'));

    if (Input::file('image')->isValid()) {

        $destinationPath = 'uploads';
        $extension = Input::file('image')->getClientOriginalExtension();
        $fileName = rand(1000,1000).'.'.$extension;
        Input::file('image')->move($destinationPath, $fileName);
        $path = Input::file('image')->getRealPath();

        $data->image_location = $fileName[$key]; //save filename location to db
        $data->save();

        flash('success', 'Uploaded Successful');
        return Redirect::to('/upload');
     } else …
Run Code Online (Sandbox Code Playgroud)

php laravel

6
推荐指数
1
解决办法
3395
查看次数

find_in_set和and locate之间的区别

我的数据库中有产品表

产品表结构:

product_id     |     testid
------------------------------------
   1                     11,12,13
   2                     2,4
Run Code Online (Sandbox Code Playgroud)

以下是我的FIND_IN_SET查询:

SELECT product_id FROM product
WHERE FIND_IN_SET(3, testid) > 0;
Run Code Online (Sandbox Code Playgroud)

产量

0
Run Code Online (Sandbox Code Playgroud)

以下是我的LOCATE查询:

 SELECT product_id FROM product
    WHERE LOCATE(3, testid) > 0;
Run Code Online (Sandbox Code Playgroud)

产量

1
Run Code Online (Sandbox Code Playgroud)

我的问题

是的区别是什么FIND_IN_SETLOCATE什么是找到ID的最佳方式column

mysql

6
推荐指数
2
解决办法
1071
查看次数

PHP的时差

我正在尝试建立一个考勤系统. PHP中的考勤系统

在结账时我调用一个更新数据库出勤率并计算小时数的函数(使用Codeigniter)

public function updateAttendance($data,$id)
    {
    date_default_timezone_set('Asia/Karachi');
    $attendance=array(
        'check_in'=> $data['check_in'],
        'check_out'=> $data['check_out']
    );
    $this->db->WHERE('id',$id)->update('attendance',$attendance);
    $this->db->query('UPDATE attendance SET hours=(HOUR(TIMEDIFF(check_out,check_in))-1) WHERE DATE(date)=\''.date('Y-m-d').'\' and employee_id='.$id);
    return true;
}
Run Code Online (Sandbox Code Playgroud)

我通过员工ID获取我的出勤率,并在员工的个人资料中呈现这样的视图.

员工出勤

问题是我的小时计算错误,可能是由于我的查询.是否有查询修复,或者我必须以时间格式保持时间差异,然后在月末添加所有这些,然后从中获取数小时.

php codeigniter

6
推荐指数
1
解决办法
2736
查看次数

如何修复 PHPMailer __autoload() 错误?

我使用 phpMailer 来处理从网站发送的邮件。今天早上我突然收到这样的消息:

致命错误:不再支持 __autoload(),请在第 45 行的 C:\xampp\htdocs\webapp\PHPMailerAutoload.php 中使用 spl_autoload_register() 代替

我的服务器上运行的是 PHP 8.0.0

if (version_compare(PHP_VERSION, '5.1.2', '>=')) {
    //SPL autoloading was introduced in PHP 5.1.2
    if (version_compare(PHP_VERSION, '5.3.0', '>=')) {
        spl_autoload_register('PHPMailerAutoload', true, true);
    } else {
        spl_autoload_register('PHPMailerAutoload');
    }
} else {
    /**
     * Fall back to traditional autoload for old PHP versions
     * @param string $classname The name of the class to load
     */
    function __autoload($classname)
    {
        PHPMailerAutoload($classname);
    }
}
Run Code Online (Sandbox Code Playgroud)

php phpmailer

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