小编jef*_*ind的帖子

如何判断列是否是使用mysqli的主键?

我正在将我的一些代码从较旧的mysql扩展转换为PHP中的mysqli扩展.以前,使用mysql扩展,我使用了一些这样的代码来查找表中的主键:

while ($i < mysql_num_fields($result)) {
    $meta = mysql_fetch_field($result, $i);
    if ($meta->primary_key == 1){ 
        $primary_key = $meta->name; 
    }
    $i++;
}
Run Code Online (Sandbox Code Playgroud)

$meta->primary_key == 1 很方便.

到目前为止,我已经转换为使用mysqli的代码:

while ($i < $result->field_count) {
    $meta = $result->fetch_field;
    if ($meta->primary_key == 1){ 
        $primary_key = $meta->name; 
    }
    $i++;
}
Run Code Online (Sandbox Code Playgroud)

当然,通过查看这里的文档,我们可以看到$meta->primary_keymysqli中不存在.我看到有一个$meta->flags.这是我最好的猜测,虽然我不确定flags当我有一个主键时应该有什么价值.

有谁知道如何使用mysqli告诉哪个列是表的主键?

谢谢!

编辑 这是一些工作代码:

//get primary key
$primary_key = '';
while ($meta = $result->fetch_field()) {
    if ($meta->flags & MYSQLI_PRI_KEY_FLAG) { 
        $primary_key = $meta->name; 
    }
}
Run Code Online (Sandbox Code Playgroud)

php mysql mysqli primary-key

9
推荐指数
1
解决办法
2382
查看次数

jQuery对话框打开并在3秒后自动关闭

我试图打开一个jQuery对话框,没有按钮显示一些动画,然后自动停留在那里3秒钟,然后关闭.这是我认为应该起作用的一个方面,但正如你所看到的那样只需3秒就可以打开和关闭:

jsfiddle:http://jsfiddle.net/WrdM9/1/

谁知道如何理顺这个?谢谢!

jquery dialog jquery-ui

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

joomla安装新语言DateTime :: __ construct():无法解析时间字符串(jerror)

我是在家用电脑上运行的Joomla 3.1的全新安装.我的环境是Ubuntu 12.10,安装了apache服务器,安装了php 5.4.6.自从安装系统以来,我不想尝试通过语言管理器安装更多语言: 在此输入图像描述

正如您所看到的,我想要的另外两种语言显示在列表中,但在选择每种语言并单击"安装"后,我被引导到包含以下消息的页面:

DateTime :: __ construct():无法解析位置0(j)的时间字符串(jerror):在数据库中找不到时区

只需按一下按钮即可返回控制面板.我很惊讶地看到这些语言出现在列表中.

当我尝试(并且失败)安装我的第一个组件时,我也看到了这条消息 - 它是一个在文章中嵌入谷歌地图的组件.

无论如何,我无法在网上找到这个问题的解决方案,我想知道是否有人在那里知道问题是什么.任何帮助是极大的赞赏!

谢谢!

编辑

在我的情况下的问题原来是我的目录中的一些不可写.我转到"系统信息"下的"目录权限"选项卡,并尝试确保所有目录都是可写的.当我第一次打开它时,"administrator"目录中的所有目录都不可写,我们将它们更改为可以通过linux中的shell写入,然后我能够安装新语言,而不会出现上面的错误消息.

在此输入图像描述

php joomla joomla3.1

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

如何在OSX上安装libjpeg?

libjpeg或libjpeg-turbo是安装Pillow的要求,这是在django上存储图像的新要求.所以我需要安装Pillow,但是只有jpeg通过名为libjpeg或libjpeg-turbo的软件包获得支持才能生效.我希望至少是这种情况.

这种依赖关系在开发服务器上不是问题,但我需要在本地做一些工作(Macbook Pro OSX 10.11.5).还没有能够做到或找到安装OSX的解决方案.我希望我会找到的东西pipconda但并没有什么的OSX.我已经看到在Linux上安装有各种常规方法.

python macos libjpeg libjpeg-turbo

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

用ajax实时更新javascript变量

我有一个需要进行数值计算的javascript函数.此计算中使用的某些数字存储在数据库中,它们将根据用户填写在线表单的方式而有所不同.一旦用户填写表单,他们将单击CALCULATE按钮.此时,在JS函数中,我想使用ajax从数据库中获取与用户选择的其他值相对应的值.

举个简单的例子:有3种尺寸的T恤,每种尺码都有不同的价格(存储在数据库中).用户选择大小,当他们点击CALCULATE时,我使用ajax来获得与他们选择的大小相关的价格.

问题是,我想使用ajax更新一些我稍后将在脚本中使用的变量.我现在尝试这样做的方式不起作用,脚本中的变量没有从ajax更新,我只能从successajax调用函数内的数据库中访问值.我理解这是因为ajax本质上是异步的,并且需要一些时间,等待从服务器返回数据,而该函数仍然继续运行

在下面的示例中,ajax调用返回JSON数据,并且我有一个调用的函数isjson(),用于测试返回的字符串是否实际上是JSON数据.

示例代码:

function calculate_cost(){

    var price = 0;
    var size = $('form#tshirt_form [name="size"] option:selected').val();
    $.ajax({
        url:'my_script.php',
        type:'post',
        data:'select=price&table=tshirts.prices&where=size = "' + size + '"',
        success:function(data){
            if(isjson(data)){
                data = $.parseJSON(data);
                data = data[0];
                price = data['price'];
            }else{
                //display error getting data
            }
        }
    });
    //  continue code for calculation
    //  this alert will display "0", but I want the price from the database in there
    alert(price);
    //perhaps do other ajax calls for other bits …
Run Code Online (Sandbox Code Playgroud)

javascript ajax jquery function

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

如何使用unchecked复选框返回一个值与jQuery序列化?

我有一个带有一些复选框的HTML表单.我使用jQuery .serialize()函数使查询字符串提交到数据库.我遇到的问题是,当未选中复选框时,该.serialize()函数不会在查询字符串中注册它.

我的问题在这个jsfiddle中说明:http://jsfiddle.net/cTKhH/.

这是一个问题,因为我仍然需要将未经检查的复选框的值保存到数据库.现在,仅在选中复选框时才会保存信息.如果未选中,并且.serialize()提交了信息,则不会进行任何更改,因为没有提交信息.

有没有人知道如何使我的.serialize()函数在未选中时返回所有复选框的未选中值?

谢谢!!

**编辑**

更多信息,我现在知道为什么未提交未选中的复选框,因为它不是"成功"的表单控件,请参见此处:http://www.w3.org/TR/html401/interact/forms. html#successful-controls.

希望我仍然修改.serialize()函数以提交未经检查的值.

html checkbox jquery serialization

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

CSS div标题位置

是否可以使div标题显示如下:

在此输入图像描述

我知道我可以在div中使用文本"Div Title here",给它一个坚实的背景并用绝对坐标定位它,但我希望标题与div相关联,而不是整个文档,所以我可以移动div而不用担心移动标题.

我在这里设置了一个小提琴:http://jsfiddle.net/Eth6U/.

html css title

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

将行恢复为默认列值mysql

我正在使用MySQL社区服务器5.1.有没有办法只用一个查询将所有行设置回默认列值?

我刚刚添加了很多行.我有大多数指定列的默认值,但由于某种原因,所有列值都设置为= 0.我想知道是否有一个查询将所有列值设置为默认值,我也需要一个where子句的能力.

像这样的东西,例如:

update table set values = values(default) where id > 300;
Run Code Online (Sandbox Code Playgroud)

谢谢!

mysql default

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

在MySQL中使用MEDIAN和MAX,MIN和AVG功能

我有以下MySQL查询,它完美地工作:

select 
    count(*) as `# of Data points`, 
    name, 
    max((QNTY_Sell/QNTYDelivered)*1000) as `MAX Thousand Price`,
    min((QNTY_Sell/QNTYDelivered)*1000) as `MIN Thousand Price`,
    avg((QNTY_Sell/QNTYDelivered)*1000) as `MEAN Thousand Price` 
from 
    table_name 
where 
    year(date) >= 2012 and 
    name like "%the_name%" and 
    QNTYDelivered > 0 and 
    QNTY_Sell > 0 
group by name 
order by name;
Run Code Online (Sandbox Code Playgroud)

现在我还想添加一个结果列,它为每行提供MEDIAN数据.在SELECT这个完美的世界中,这将是这样的:

median((QNTY_Sell/QNTYDelivered)*1000) as `MEDIAN Thousand Price`
Run Code Online (Sandbox Code Playgroud)

在Google上搜索MySQL中值函数让我得到了这个答案,如果您对整个表的数据集的中位数感兴趣,这似乎没问题: 使用MySQL计算中值的简单方法

这里的不同之处在于我按name列对表格中的数据进行分组,并希望获得按此列分组的每行数据的中位数.

有谁知道允许我这样做的好玩法?

谢谢!

mysql sql statistics median

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

如何在Python中解码Firebase JWT令牌

我添加了Firebase以允许客户端直接从Web应用程序客户端(浏览器)进行身份验证.我使用的是firebase-web JS软件包,效果很好.我可以在浏览器中看到我收到一个用户对象,其中包含有关用户的信息,包括idToken.

然后我需要在我的服务器后端验证这个用户,这是python django.在Firebase文档中,我找到了我正在尝试做的操作方法,即验证id令牌.

由于他们没有python支持的Firebase sdk,我需要使用第三方解决方案.我发现它在jwt.io网站上列出后,我来到了python-jose包.该示例看起来很简单:

jwt.decode(token, 'secret', algorithms=['RS256'])
Run Code Online (Sandbox Code Playgroud)

这是我第一次使用JWT.我不知道该用什么'secret'.我尝试将我的ID令牌粘贴为token,以及来自Firebase控制台的Web API密钥secret,但出现此错误:

jose.exceptions.JWKError:不支持RSA密钥格式

我也尝试过JWT调试器,它似乎正在正确读取我的大部分id令牌,但是签名验证正在寻找一个公钥和/或私钥,就像'secret'逃避我一样.

在此输入图像描述

我真的不知道如何找到这个秘密,以及如何验证JWT id令牌.在信息火力地堡文档(第三方节)是:

最后,确保ID令牌由与令牌的孩子声明相对应的私钥签名.从https://www.googleapis.com/robot/v1/metadata/x509/securetoken@system.gserviceaccount.com获取公钥, 并使用JWT库验证签名.使用来自该端点的响应的Cache-Control标头中的max-age值来了解何时刷新公钥.

我已经尝试将整个json blob从googleapis url粘贴到JWT调试器中,但仍然收到"无效签名"警报.我不明白如何使用该公钥.

python-jose应该为这种方法工作吗?如果是这样,我应该用什么秘密?如果没有,有人能指出我正确的方向吗?

谢谢.

python jwt firebase firebase-authentication python-jose

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