我想为MySQL创建一个存储例程,用于计算一个月的业务或工作日数(工作日为周一至周五).
这是语法错误,但我不知道语法错误是什么.它告诉我的全部是:
1064 - 您的SQL语法出错; 查看与您的MySQL服务器版本对应的手册,以便在'WHILE(@ daycount <@totaldays)附近使用正确的语法DO IF(WEEKDAY(@checkweekday)<6)THEN'在第2行
我的语法错误如下:
WHILE(@daycount < @totaldays) DO
IF (WEEKDAY(@checkweekday) < 6) THEN
Run Code Online (Sandbox Code Playgroud)
我的代码:
SELECT MONTH(CURDATE()) INTO @curmonth;
SELECT MONTHNAME(CURDATE()) INTO @curmonthname;
SELECT DAY(LAST_DAY(CURDATE())) INTO @totaldays;
SELECT FIRST_DAY(CURDATE()) INTO @checkweekday;
SELECT DAY(@checkweekday) INTO @checkday;
SET @daycount = 0;
SET @workdays = 0;
BEGIN
WHILE(@daycount < @totaldays) DO
IF (WEEKDAY(@checkweekday) < 6) THEN
SET @workdays = @workdays+1;
END IF;
SET @daycount = @daycount+1;
SELECT ADDDATE('@checkweekday', INTERVAL 1 DAY) INTO @checkweekday;
END WHILE;
END;
SELECT @workdays; …Run Code Online (Sandbox Code Playgroud) 问题:
无法完全理解Goutte网络刮刀.
请求:
有人可以帮助我理解或提供代码,以帮助我更好地了解如何使用Goutte网络刮刀吗?我已经阅读了README.md.我正在寻找比提供的更多信息,例如Goutte中可用的选项以及如何编写这些选项,或者当您查看表单时,您是否搜索表单的名称=或id =?
试图抓取的网页布局:
步骤1:
网页有一个表单,有一个单选按钮,可以选择填写哪种表格(即名称或许可证).默认情况下,名称带有名字和姓氏文本框以及状态下拉菜单选择列表.如果选择Radio,则会有jQuery或JavaScript使First和Last Name文本框消失,并显示License文本框.
第2步:
成功提交表单后,它会将您带到一个包含多个链接的页面.我们可以进入其中一个来获取我们需要的信息.
第3步:
一旦我们成功点击链接,我们希望第三页包含我们正在寻找的数据,并且我们希望将该数据存储到php变量中.
提交错误信息:
如果提交了错误信息,则jQuery/Javascript返回"未找到记录"消息.与提交的页面相同.
注意:
首选方法是选择许可证单选按钮,填写许可证编号,选择状态,然后提交表单.我已经阅读了大量关于Goutte的帖子和博客以及其他项目,我无处可以找到Goutte可用的选项,如何找到这些信息或如果它存在的话如何使用这些信息.
问题:将我的 Laravel 4 代码转换为 Laravel 5.2。我正要改变和转变我的观点,但无法克服以下错误。
错误: IndexController.php 第 27 行中的 ErrorException:尝试分配非对象的属性
调试信息:
请求:请协助找出出现错误的原因,并详细解释如何防止该错误以及我在示例中做错了什么(如果可能)。
注意:在为数据库做种后,我曾经在 Laravel 4 上收到类似的错误,但我能够刷新迁移并重新为数据库做种,一切都会重新开始工作。这不适用于 Laravel 5 中的此错误。此代码适用于 L4。
尝试:我在 Google 上阅读了很多内容,并尝试了各种项目,例如php artisan clear-compiled、composer dump-autoload …
我正在通过观看大量视频教程和阅读大量文章来学习 PHP 面向对象编程。我看到的许多 PHP OOP 教程都说使用 getter 和 setter。这对我来说毫无意义。为什么我会将类属性设为私有或受保护,然后使用函数公开该属性?我开始研究并在这里找到了现在乞求这个问题的文章:
你应该在 PHP 中使用 getter 和 setter 而不是直接访问类的属性吗?
如果是,为什么?(非技术术语,请。其他一些问题给出了原因,但它们太技术性了,我无法理解他们试图解释的内容)
如果没有,为什么不呢?
注意:在阅读一些类似的 Stack Overflow 问题时,我注意到这篇由 Google 开发人员撰写的帖子。
避免编写幼稚的 setter 和 getter!在 PHP 中编写类时,您可以通过直接使用对象属性而不是编写简单的 setter 和 getter 来节省时间并加快脚本速度。在以下示例中,狗类使用 setName() 和 getName() 方法来访问 name 属性。
直接设置和调用 name 属性可以将运行速度提高 100%,并减少开发时间。
Google 提供了使用它们对您的代码的速度影响的证据。
更新2016年1月26日美国东部时间晚上10:30:通过大量的Google搜索,我发现我误解了如何利用命名空间和自定义类.如果其他人有这个问题,请阅读本教程:http://www.techigniter.in/tutorials/how-to-add-custom-class-in-laravel-5/ 这很简单,很容易理解.它帮助解决了这个问题,并将我带到了下一个错误......:D
问题: 尝试重新安装Laravel 5并将我的Laravel 4代码转换为Laravel 5.
请求:请帮助我找到错误并提供有关如何纠正错误的详细说明.
错误: additionalPCs.php第4行中的FatalErrorException:未找到类'App\Library\AdditionalPCs\additionalComputer'
注意:我已将additionalComputer.php文件放在其自己的目录App\Libary\additionalPCs中,并直接放入App\Libary目录中.两个地方都会产生同样的错误.我正在使用命名空间.(可能不正确)
Composer.json
"autoload": {
"classmap": [
"database"
],
"psr-4": {
"App\\": "app/"
}
},
Run Code Online (Sandbox Code Playgroud)
IndexController.php
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use App\Library\additionalPCs;
use App\Http\Requests;
use App\Http\Controllers\Controller;
class IndexController extends Controller
{
Protected $layout = 'master';
/**
* Display a listing of the resource.
*
* @return Response
*/
public function index()
{
/** Wayne - 03-02-2014 - Moved for loop to a method within …Run Code Online (Sandbox Code Playgroud) laravel ×2
laravel-5 ×2
php ×2
class ×1
do-while ×1
getter ×1
goutte ×1
laravel-5.2 ×1
mysql ×1
properties ×1
setter ×1
web-crawler ×1