小编Jee*_*usu的帖子

在PHPMYADMIN中使用group_concat将显示结果为[BLOB - 3B]

我有一个查询,它在整数字段上使用mysql的GROUP_CONCAT.
我正在使用PHPMYADMIN来开发此查询.我的问题是,不是显示1,2是连接字段的结果,而是[BLOB - 3B].

查询是

SELECT rec_id,GROUP_CONCAT(user_id)
FROM t1
GROUP BY rec_id
Run Code Online (Sandbox Code Playgroud)

(两个字段都是unsigned int,两者都不是唯一的)

我应该添加什么来查看实际结果?

mysql casting group-by phpmyadmin group-concat

55
推荐指数
4
解决办法
3万
查看次数

is_unique用于codeigniter表单验证

我想弄清楚如何is_unique在以下情况下使用Codeigniter表单验证库中的规则.

我正在尝试提交编辑用户表单并具有以下规则:

$this->form_validation->set_rules('user_name', 'User Name', 'required|trim|xss_clean|is_unique[users.user_name]');
Run Code Online (Sandbox Code Playgroud)

如果表单中的其他值被更改但该值保持不变,该怎么办?表单将会看到此值已经存在,因此如果不更改此值,我将如何保护它不被编辑.

php codeigniter

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

在Laravel中跨多个步骤保留表单数据

当我在过去创建多步表单时,我通常会在将表单数据返回到视图之前将其存储在会话中,这样,如果用户刷新页面或单击浏览器的本机后退按钮,数据就会持续存在.

将我过去的逻辑转移到Laravel我构建了以下三个阶段的形式:

[Input -> Confirm -> Success]

routes.php文件

Route::group(array('prefix' => 'account'), function(){
    Route::get('register', array(
        'before'  => 'guest',
        'as'      => 'account-create',
        'uses'    => 'AccountController@getCreate'
    ));

    Route::post('register', array(
        'before'  => 'guest|csrf',
        'as'      => 'account-create-post',
        'uses'    => 'AccountController@postCreate'
    ));

    Route::get('register/confirm', array(
        'before'  => 'guest',
        'as'      => 'account-create-confirm',
        'uses'    => 'AccountController@getCreateConfirm'
    ));

    Route::post('register/confirm', array(
        'before'  => 'guest|csrf',
        'as'      => 'account-create-confirm-post',
        'uses'    => 'AccountController@postCreateConfirm'
    ));

    Route::get('register/complete', array(
        'before'  => 'guest',
        'as'      => 'account-create-complete',
        'uses'    => 'AccountController@getCreateComplete'
    ));
});
Run Code Online (Sandbox Code Playgroud)

AccountController.php

<?php
class AccountController extends BaseController { …
Run Code Online (Sandbox Code Playgroud)

php forms laravel

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

在PUPHPET生成的Wheezy VM上向Apache添加新的虚拟主机

我用puphpet.com快速设置了Wheezy VM.VM运行良好,但我喜欢为Apache添加另一个虚拟主机.

根据puphpet文件:

我已经完全重写了PuPHPet,以便利用Puppet的内置配置工具Hiera.只需查看下载的文件夹,然后打开puppet/hieradata/common.yaml.这是控制一切的神奇文件!

但是我的下载不包括puppet/hieradata文件夹和common.yaml文件.

我尝试创建上面的文件夹和文件,但执行时不会确认它们vagrant reload.

puppet vagrant puphpet

7
推荐指数
1
解决办法
7300
查看次数

在PostgreSQL中获取下一个可用的auto_increment ID-更好的方法?

我是PostgreSQL的新手,因此非常感谢社区提供的任何指导。

我正在更新一个刚继承的旧站点的CMS中的某些功能。基本上,在将文章插入数据库之前,我需要它的ID。无论如何,在数据库会话(插入)开始之前,是否仍要检查序列将使用的下一个值?

起初我以为可以使用SELECT max(id) from tbl_name,但是由于id是从序列中自动递增的,并且文章通常会被删除,因此显然不会为序列中的下一个值返回正确的id。

由于本文尚未在数据库中,并且数据库会话尚未启动,因此似乎无法使用currval()postgreSQL 的功能。此外,如果使用nextval()它,则在插入数据之前会自动递增序列(插入也会自动递增序列,最终导致序列加倍)。

目前,我的解决方法如下:

function get_next_id()
{
    $SQL = "select nextval('table_id_seq')";
    $response = $this->db_query($SQL);
    $arr = pg_fetch_array($query_response, NULL, PGSQL_ASSOC);

    $id = (empty($arr['nextval'])) ? 'NULL' : intval($arr['nextval']);
    $new_id = $id-1;
    $SQL = "select setval('table_id_seq', {$new_id})";
    $this->db_query($SQL);

    return $id;
}
Run Code Online (Sandbox Code Playgroud)

SELECT nextval('table_id_seq')用来获取序列中的下一个ID。随着序列的增加,我立即使用它SELECT setval('table_id_seq',$id)来将序列设置回其原始值。这样,当用户提交数据并且代码最终命中INSERT语句时,它将自动递增,并且插入之前和插入之后的ID相同。

虽然这对我有用,但我对postgreSQL不太热衷,想知道它是否会导致任何问题,或者它们是否不是更好的方法?没有自动递增的序列就没有办法检查序列的下一个值吗?

如果有帮助,我正在使用PostgreSQL 7.2

postgresql

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

启用/安装 Curl 扩展 (OSX Server/PHP 5.3.3/Apache 2.2)

在我继承的服务器上使用 PHP 处理 CURL 时遇到了一些麻烦。

到目前为止,我已经通过取消注释该extension=php_curl.dll行并重新启动 apache 来启用我的 php.ini 中的扩展。

但是,我现在在启动 PHP 时收到以下错误:

PHP Warning: PHP Startup: Unable to load dynamic library '/opt/local/lib/php/extensions/php_curl.dll

php_curl.dll 文件不存在于上述目录中,我找不到任何合法的下载它的地方(似乎没有包含在 PHP 或 Curl 中)。


更新
按照此处答案中提供的步骤,我能够编译一个新的 php_curl.so 文件并将其安装到扩展目录中。

Cudos 去Francois Deschenes!!

从头开始编译 curl.so (php_curl.dll) 模块:

  1. 下载并提取您的 PHP 版本的新副本。
  2. 打开终端窗口并转到 curl 目录(类型cd php-5.3.3/ext/curl/)。
  3. 键入phpize
  4. 键入./configure
  5. 键入make
  6. 键入sudo make install
  7. extension=curl.so在 php.ini 中取消注释。

您还应该确保在开始处理之前将扩展名注释掉,否则您可能会收到有关模块已经存在的错误。


php apache macos

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

Codeigniter的记录行为| show_404()

我使用控制器为页面做一些自定义uri路由,它目前工作得很好.

这是控制器的精简版本,它使用PHPTAL作为模板引擎.

public function index()
{
    $this->tal->display('index');
}

public function view($url)
{       
    $this->loadView($url);
}   

private function loadView($url) 
{

   if (file_exists(ROOTPATH . 'webroot/' . $url . '/index.html')) 
   {
       $this->tal->display($url . '/index');
   } 
   else 
   {  
       show_404();
   }
}
Run Code Online (Sandbox Code Playgroud)

问题

我最近注意到,每次访问页面控制器时,我的日志中都出现以下错误:

ERROR - 2013-02-06 10:58:23 --> 404 Page Not Found -->

我发现这很奇怪,因为页面按预期显示,并且肯定没有404标题,网络面板没有404状态.

我最后将其缩小到show_404()方法中调用的辅助loadView()方法.删除该行可以阻止错误完全出现在日志文件中.

只有在找不到视图文件时才应执行此§show_404()§,在这种情况下,它应该显示404错误页面.但是,无论是否调用该方法,该方法的日志记录部分似乎都是在每次调用页面控制器时执行的loadView().

index()在浏览器中访问视图,一切似乎工作正常,加载了正确的视图文件,没有错误.但是,从该loadView()方法记录404错误消息.该loadView()方法甚至没有从该index()方法调用,但它在日志文件中的输出似乎表明它正在被执行.

php codeigniter

5
推荐指数
1
解决办法
1633
查看次数

在php中上传文件时未定义的变量

我想在我的数据库中存储2个图像.当我上传2张图片时,两者都成功存储,但在尝试上传单张图片时,则为未上传的图片提供未定义的错误.哪里我错了?

我的代码是:

         <label for="certificate">Upload Scaned Document:</label>
         <input type="file" id="uploadImage" name="image" />
         <label for="certificate">Upload Scaned QR Code</label>
         <input type="file" name="QRimage" id="File2" />
Run Code Online (Sandbox Code Playgroud)

和PHP代码是

if((!empty($_FILES["image"])) && ($_FILES['image']['error'] == 0))   {
    $imageName = mysql_real_escape_string($_FILES["image"]["name"]);
    $imageData = mysql_real_escape_string(file_get_contents($_FILES["image"]["tmp_name"]));
    $imageType = mysql_real_escape_string($_FILES["image"]["type"]);

}
if((!empty($_FILES["QRimage"])) && ($_FILES['QRimage']['error'] == 0)) {
    $QRimageName = mysql_real_escape_string($_FILES["QRimage"]["name"]);
    $QRimageData = mysql_real_escape_string(file_get_contents($_FILES["QRimage"]["tmp_name"])); 
}
Run Code Online (Sandbox Code Playgroud)

html php string

5
推荐指数
1
解决办法
1785
查看次数

react-router在页面加载时不返回嵌套路由的内容

我的反应应用的工作原理如预期的第一级路线,例如//foo/bar,双方使用的应用程序导航菜单或直接键入网址时,系统到浏览器地址栏的时候。

但是,更深的网址(例如,/foo/bar仅在使用应用程序导航菜单时有效,而在直接将网址输入到浏览器地址栏中时则无效)。

对于depper URL,在刷新页面或直接在地址栏中输入url时,将显示站点index.html(白屏,因为未加载任何内容或样式),但由于没有错误,因此它似乎没有通过响应呈现出现在控制台中,而react dev工具显示黑屏。

我正在使用带有--history-api-fallback选项集的react-router 4.0.0和webpack-dev-server 。我尝试过切换服务器以表示并设置一个catch全部以将所有路由重定向到index.html,以及降级到react-router 3.0.2,但是问题在两个实例中仍然存在。

我将代码缩减到路由器和一些我要路由的裸机的最小数量。

应用程序入口点(index.js)

import React from 'react';
import { render } from 'react-dom';
import { BrowserRouter } from 'react-router-dom';

// import components
import AppContainer from './components/AppContainer';

render(
    <LocaleProvider>
        <BrowserRouter>
            <AppContainer/>
        </BrowserRouter>
    </LocaleProvider>, 
    document.querySelector('#main')
);
Run Code Online (Sandbox Code Playgroud)

AppContainer组件

import React from 'react';
import { Route, Switch, Link } from 'react-router-dom';

// import components
import Home from './Home';
import About from './About';
import Test from './Test'; …
Run Code Online (Sandbox Code Playgroud)

reactjs react-router webpack-dev-server

5
推荐指数
1
解决办法
969
查看次数

如何从数据库中检索数据并使用Codeigniter将其显示在html表中

任何人请帮助我检索数据库数据以及如何在html table中查看它.我给出的编码是否正确,如果没有,请你说我要如何给.为了在html表中查看它.

调节器

class edit_content extends CI_Controller {

    function edit_content()
    {
        parent::__construct();
        $this->load->model('editcontent_model');
        $this->load->helper('url');
        $this->load->library('acl');
        $this->data = $this->editcontent_model->get_contents();
    }
}
Run Code Online (Sandbox Code Playgroud)

视图

<table>
    <tr>
        <th>Content</th>
    </tr>

    <?php foreach($this->data  as $r): ?>
        <tr>
            <tr><?php echo $r['content']; ?>
        </tr>
    <?php endforeach; ?>

<table>
Run Code Online (Sandbox Code Playgroud)

模型

class editcontent_model extends CI_Model {
    var $CI; 

    function editcontent_model(){
        parent::__construct();
    }

    function get_contents() {
        $this->db->select('content');
        $this->db->from('contents');
        $query = $this->db->get();
        return $result = $query->result();
        $this->load->view('edit_content/edit_content', $result);
    }
}
Run Code Online (Sandbox Code Playgroud)

codeigniter

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

将 301 重定向添加到 Codeigniter .htaccess

我一直在尝试为最近移动的页面设置重定向。该页面最初位于http://example.com/foo/,但后来移至http://example.com/foo/bar/

我在我的网站.htaccess文件中尝试了以下规则:

RedirectMatch 301 ^/foo/$ /foo/bar/

但是,转到 url 会http://example.com/foo/导致重定向到 url http://example.com/foo/bar/?/foo/。虽然 url 有效并且我想重定向到加载的页面,但我很想摆脱?/foo/url 末尾的额外内容。

这是我的完整 .htaccess:

RewriteEngine On
RewriteBase /

# add trailing slash
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_URI} !(.*)/$
RewriteRule ^(.*)$ $1/ [R=301,L]

# allow access to certain directories in webroot
RewriteCond $1 !^(index\.php|robots\.txt|css/|lib/|js/|images/|^(.*)/images)

# gets rid of index.php
RewriteRule ^(.*)$ index.php?/$1 [L] 
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d

# page redirects
RedirectMatch 301 ^/foo/$ /foo/bar/
Run Code Online (Sandbox Code Playgroud)

.htaccess mod-rewrite redirect codeigniter

0
推荐指数
1
解决办法
4406
查看次数