谁一开始就是大神?

PHP 第19页

PHP

Mysql链接失败提示Operationnowinprogress[2.0]

Oldpony阅读(52)

无论我的mysql的配置写的什么,只要写的是IP地址就链接不上 提示 SQLSTATE[HY000] [2002] Operation now in progress
就像这样:

   'db' => [
        'class' => 'yii\db\Connection',
        'dsn' => 'mysql:host=127.0.0.1;dbname=test',
        'username' => 'root',
        'password' => '',
        'charset' => 'utf8',
    ],

但是当我把数据库的配置文件改成域名访问,这样:

   'db' => [
        'class' => 'yii\db\Connection',
        'dsn' => 'mysql:host=localhost;dbname=test',
        'username' => 'root',
        'password' => '',
        'charset' => 'utf8',
    ],

就可以访问了。
在命令行下,是可以通过 mysql -h127.0.0.1 -uroot 来访问的。而且之前的项目也会报这个错误,之前运行也是没问题的。

127.0.0.1和localhost的区别我记得127.0.0.1使用TCP/IP连接,localhost使用Unix socket,是不是这的问题
加个端口号
‘db’ => [
应该是host,要和数据库里 连接信息里的名字一致。

上传图片mkdir问题[1.1]

Fionasuper阅读(39)

mkdir(): Permission denied这个问题怎么解决

权限给0777
mkdir(dirname, 0777, true);
最简单的方式 服务端建一个 777权限的公共文件夹。然后可以,在里面动态创建。mkdir 才有用武之地。
用yii自带的文件类去创建
CFileHelper
权限的问题吧

表单验证[2.0]

Jacklove阅读(47)

rules如何添加一个非数据库字段的验证?

class CarPriceSearch
{
自定义验证可以加不是本字段的,还有就是可以在C层验证
so easy
总的来说就是在model类中添加一个公共属性
rules()里的验证就正常写就行了,就像正常数据库字段一样

对象和数组为什么都可以使用[2.0]

Candylovely阅读(44)

$infoModel = InfoModel::findOne(1);
上面就是查找id为1的数据,我打印过$infoModel,他是个对象
可是 输出以下2句都可以成功打印正确数据:

echo $infoModel -> name; //这个可以理解   他是对象可以->
echo $infoModel['name']; //这个不理解  他不是数组啊

以下是打印的$infoModel:

app\models\InfoModel Object
(
    [_attributes:yii\db\BaseActiveRecord:private] => Array
        (
            [id] => 1
            [name] => 我问问2
            [age] => 32
        )

    [_oldAttributes:yii\db\BaseActiveRecord:private] => Array
        (
            [id] => 1
            [name] => 我问问2
            [age] => 32
        )

    [_related:yii\db\BaseActiveRecord:private] => Array
        (
        )

    [_errors:yii\base\Model:private] => 
    [_validators:yii\base\Model:private] => 
    [_scenario:yii\base\Model:private] => default
    [_events:yii\base\Component:private] => Array
        (
        )

    [_behaviors:yii\base\Component:private] => Array
        (
        )

)

还有顺便问下<?php echo $form -> field($infoModel,’name’)->textInput(array(‘value’ => $infoModel[‘name’])); ?>
这里的field的第一个参数$infoModel是不是一定是模型对象,我试着在控制器把$infoModel转成数组就报错了???

因为 AR 是 yii\base\model 的后代,而 yii\base\Model 实现了 PHP 预定义的接口 ArrayAccess, 正是这个接口让我们能够像使用关系数组一样访问对象中的属性。
用ArrayHelper::getValue($infoModel,’name’),也是可以打印的
这个你就需要研究研究findOne(),然后研究研究one(),然后如下
WechatIMG3.jpeg

kartik-v/yii2-widget-fileinput不能上传多文件(我想要多图片效果)[2.0]

Anihope阅读(39)

  • 我现在的效果只能上传单张图片,如下图所示:
  • 想要的.png
  • 下面这张是我想要的效果:
  • 现在的.png
  • 页面代码:
  • upload.png
    找了半天看不出哪里没有弄好,请教各位了,多谢

跟你需求不太一样,可以稍微改下
这个在我项目里面是OK的,你可以试一下,如果还是不行的话,建议更新一下kartik\file\FileInput;
亲测,你这些配置都没问题,问题可能在别的地方
用axaj上传
我这边有我写的例子,需要的话,可以贴出来看下.我这边是好的,放在我项目里面
在编辑页面能默认显示出图片吗?
<?=
$form->field($model, ‘goods_thumb[]’)->widget(FileInput::classname(), [

请教:ActiveRecored字段是动态的,该如何访问[2.0]

acgFox阅读(53)

我用 ActiveRecored的find() 找到某条记录,比如叫 record,修改记录中的某个字段的值。比如column1。可以 record->column1=xxx

如果这个字段的名字,是动态改变的,该怎么办?比如column2,column5,如何访问 “拼接出来的字段名”?

谢谢指点!

这样好像yii2的model是不允许的
首先确保 表 中存在这个字段。
试试

原生SQL语句转换成Yii2查询[2.0]

CleverLion阅读(50)

原生写法:

$page = isset($_GET['page']) ? $_GET['page'] : 1;
$pageSize = isset($_GET['pagesize']) ? $_GET['pagesize'] : 6;
if(!is_numeric($page) || !is_numeric($pageSize)) {
	return Response::show(401, '数据不合法');
}

$offset = ($page - 1) * $pageSize;
$result="select * from article where status = 1 order by orderby desc limit ". $offset ." , ".$pageSize;

Yii2 如何做个查询呢?

你如果安全过滤的话 就应该在 get 就转 int if(!is_numeric($page) || !is_numeric($pageSize)) 这俩参数就会变成正常 0 或者无就是默认值就是了
model::find() 返回的是数据库链接对象 链式返回的都是

手机注册用户与微信等第三方注册登录用户合并[2.0]

Markdear阅读(54)

RT,手机注册了一个用户,后又用微信等第三方注册登录产生了另一个用户,这两个用户有合并的可能吗?

这种合并的工作最容易出错,一不小心就会出现脏数据。我的做法是参照 EER 图编写迁移代码,这样不容易遗漏。
Jietu20170622-195800.png
我想你的初衷是在注册阶段让用户有多重选择,以便更快捷地完成注册。手机号的等级比微信高,使用第三方注册绝大部分是因为不愿意暴露自己的手机号。如果一个用户愿意使用自己的手机号注册,那他基本不会用第三方登录手段了。此外,你可以参考简书的注册体验,这个网站同时支持手机号和第三方两种注册方式,和你的需求很像。我刚才试了一下,使用手机号注册后,在账号设置页面没有绑定微信什么的,但是用微信注册后的账号,在设置页面有绑定手机号的功能。如果你绑定的手机号之前曾注册过账号,简书直接禁止绑定,也就是说,它没有合并账号的功能。
我不确定正确理解了你的意思,“手机注册了一个用户”是指通过手机号注册吗?假如同一个用户通过不同注册方式在 user 表内写入两条记录,你做一个类似“绑定账号”的功能。例如,通过微信登录的方式登录的用户,让用户输入手机号,通过手机号检查 user 表是否存在记录,若存在,提醒用户合并账号。
验证手机 账号绑定,认证微信账号绑定,论坛的有的QQ登录但是需要绑定账号的晓得不
答案如上。

mysql怎样设置多个between查询

ecysea阅读(51)

我写成这样
and created_at between 1496764800 and 1496851200
and created_at between 1497196800 and 1497283200

什么都查不出,单独只用一个between就能有结果,两个一起就没有

created_at between 1496764800 and 1496851200 or created_at between 1497196800 and 1497283200
条件错了,一个时间可能在两个范围之间吗?看看能不能在两个between之间用or

setFlash和redirect跳转问题[2.0]

EllieFox阅读(50)

在项目中写了 Yii::$app->session->setFlash(‘error’, $model->lastError);,有错误就抛出了,但是这个时候蛋疼的事情来了,我的页面是ajax加载一部分的,报错的时候这部分就没了,求解决办法!!!另外使用redirect传递参数$this->redirect([‘index’,’success’=>2]);我根据这个参数去做弹出成功提示,但是每次刷新都会弹出,蛋疼

ajax 加载 返回json级别的错误信息,唯一的办法 因为你页面没有刷新所以拿不到 页面打开之后的session
第二个问题就是条件判断问题,自己去看吧,就是 if else这种。
简单来说 if a == 1 做弹窗1
页面加了这个吗????????????
这部分是指的ajax加载的页面?你是想要解决报错问题,还是加载Ajax问题?

登录

找回密码

注册