我在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,即使我收到错误.
可能是什么问题.提前致谢.
使用POSIX字符类
如何匹配[:cntrl:]但不包括[:space:]?
$message = ereg_replace("[[:cntrl:]]", "", $message);
Run Code Online (Sandbox Code Playgroud) 我在使用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) 在mysqli概述页面上有一个好处列表,旨在引诱我进入mysqli领域.我甚至不理解其中许多的含义,但我真的很感兴趣:增强的调试功能.
根据我的经验,准备好的语句(被认为是主要的和主要使用的mysqli功能)使调试动态SQL变得非常困难 - 你只是不能定期查询准备好的查询,以便在控制台中复制.
所以,我很想知道这些功能是什么以及如何使用它们.
是在调试SQL还是在其他方面?
如何使用它?
什么是实际用例?
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?
我正在尝试将我的查询替换为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?
我正在使用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) 我的数据库中有产品表
产品表结构:
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_SET和LOCATE什么是找到ID的最佳方式column
在结账时我调用一个更新数据库出勤率并计算小时数的函数(使用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获取我的出勤率,并在员工的个人资料中呈现这样的视图.
问题是我的小时计算错误,可能是由于我的查询.是否有查询修复,或者我必须以时间格式保持时间差异,然后在月末添加所有这些,然后从中获取数小时.
我使用 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)