小编psy*_*ott的帖子

PHP base64_encode和*nix base64之间有什么区别

PHP base64_encode正在向linux base64命令返回一个不同的字符串.为什么是这样?

PHP:

$ php
<?php
echo base64_encode('test');
?>
dGVzdA==
Run Code Online (Sandbox Code Playgroud)

Linux base64:

$ echo 'test' | base64
dGVzdAo=
Run Code Online (Sandbox Code Playgroud)

php base64 encoding

25
推荐指数
3
解决办法
4321
查看次数

ODBC编写的PHP语句

我正在尝试在PHP中使用odbc_prepare和odbc_execute,如下所示:

$pstmt=odbc_prepare($odb_con,"select * from configured where param_name='?'");
$res=odbc_execute($pstmt,array('version'));
var_dump($res);  //bool(true)
$row = odbc_fetch_array($pstmt);
var_dump($row);  //bool(false)
Run Code Online (Sandbox Code Playgroud)

第一个var_dump返回true,因此执行成功,但没有返回任何行.param_name ='version'确实存在一行.为什么没有返回行?

为了让事情变得有趣,我使用准备好的插件在php中运行了另一个非常简单的示例.

$pstmt=odbc_prepare($odb_con,"insert into tmp1 values(?,'?')");
Run Code Online (Sandbox Code Playgroud)

这行本身就是在数据库中插入一行!! 当然这是错的?输入的数据是col 1 =空白,col 2 =?

任何关于从哪里开始修复此建议的建议将不胜感激,谢谢.

编辑:这是在PHP 5.2.8中

php odbc prepared-statement

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

PHP switch语句的最佳布局?

这一直困扰我一段时间:switch语句的最佳布局是什么,特别是在PHP中?

我发现自己这样做有两种方式,甚至没有考虑过.然后,有时当我回到代码时,我觉得它看起来不正确,并以另一种方式重写它.重复!

方法1

switch($action)
{
  case 'a':
    //do something
  break;

  case 'b':
    //do something
  break;
}
Run Code Online (Sandbox Code Playgroud)

好处:

  • 我觉得case/break与switch/if语句中的括号一样排列.
  • 在我看来,它看起来更好

缺点:

方法2

switch($action)
{
  case 'a':
    //do something
    break;

  case 'b':
    //do something
    break;
}
Run Code Online (Sandbox Code Playgroud)

好处:

缺点:

  • 在查看代码时,我遇到了一个休息时间,我有时觉得if语句中缺少一个端括号,因为它到目前为止缩进了.

所以我的问题是,布局switch语句的正确方法是什么?使用方法1我错了吗?

php layout switch-statement code-layout

14
推荐指数
3
解决办法
3853
查看次数

jQuery DataTables:如何为每个动态添加的行添加行ID?

摘要

我正在使用来自http://www.datatables.net的伟大的dataTables jQuery插件.在我的脚本中,我基于使用的事件触发动态添加行fnAddData.使用fnRowCallback,我添加一个唯一的行ID.这有时会失败,并且不会添加行ID.在46行添加的测试中,通常6到8行不会获得行ID.


添加行功能

function ps_ins(row)
{
  var rowArray = row.split('|');
  row = rowArray;
  var alarmID = parseInt(row[1],10);

  $('#mimicTable').dataTable().fnAddData([
    alarmID, 'col2', 'col3', 'col4',
    'col5', 'col6', 'col7'
  ]);
}
Run Code Online (Sandbox Code Playgroud)

行正确添加到表中.我正在运行的测试添加了46行,并且都按预期显示.


添加行ID

我正在尝试为每一行添加一个唯一的ID,以便稍后我可以修改一个特定的行,并使用fnGetRows和.filter的组合在dataTable的缓存中引用它.

我在初始化阶段使用fnRowCallback执行此操作.我保留了所有其他设置只是因为那里可能会对问题产生影响.

  $('#mimicTable').dataTable({
    "sDom": 'lip<"mimicSpacer">f<"numUnAck">rt',
    "sScrollY": "365px",
    "aaSorting": [[4,'desc'],[5,'desc']],
    "iDisplayLength": 15,
    "aLengthMenu": [[15, 50, 100, -1], [15, 50, 100, 'All']],
    "bAutoWidth": false,
    "aoColumns": [
      null,
      { "sWidth": "20%" },
      { "sWidth": "22%" },
      { "sWidth": "9%" },
      { "sWidth": "9%" },
      { "sWidth": "20%" …
Run Code Online (Sandbox Code Playgroud)

javascript jquery datatables

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

从表中删除jQuery tablesorter

我正在使用jQuery tablesorter(http://tablesorter.com).

在应用于表格之后$('#myTable').tablesorter(),如何从表格中再次删除它?

jquery tablesorter unbind

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

PHP中的交替表行样式 - 按位运算符的奇怪用法

看一下另一位开发人员编写的代码,我遇到了这个问题:

for($i=1; $i<=30; $i++)
{
  if($i&1)
    $color = '#fff';
  else
    $color = '#bbb';
}
Run Code Online (Sandbox Code Playgroud)

这个$ color变量稍后在代码中用于行背景颜色.交替的颜色很好.

如果我写这个,我会使用模数运算符(%)而不是按位(&)运算符.

为什么按位运算符在这种情况下有效?使用此方法而不是模数运算符是否有任何优势?

php bit-manipulation operators

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

在传递给ODBC之前纠正输入数据的正确方法

我习惯使用MySQL和mysql_real_escape_string(),但我得到了一个使用ODBC的新PHP项目.

在SQL字符串中转义用户输入的正确方法是什么?

addslashes()是否足够?

我想现在而不是以后得到这个!

php odbc user-input escaping mysql-real-escape-string

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

如何检测IE中是否启用了Java?

可能重复:
确定客户端浏览器是否已安装Java并可以启动applet

我想检查一下是否安装了Java,或者是否在IE中禁用/阻止了Java.

我尝试过navigator.javaEnabled(),这在Firefox(v10.0.2)中按预期工作,但在IE8中它返回TRUE.但是,IE会向用户显示提示:

您正在查看的页面使用Java.
有关Java支持的更多信息,请访问Microsoft网站.

我遇到的问题是,有一个复选框"Do not show this message again",显然可以勾选,然后不再向用户提示未启用Java.

我如何处理IE中缺少Java支持?

java internet-explorer detection

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

从adoquery中删除重复项

我有一个adoQuery,并希望用结果填充列表框,但没有重复.

      with Fdeptlayout.ADOQuery2 do
  begin
    sql.Clear;
         sql.BeginUpdate;
         sql.Add('SELECT');
         sql.Add(' *');
         sql.Add('FROM');
         sql.Add(' `MList`');
         sql.Add(' ORDER BY `Basic Name`');
         sql.EndUpdate;

         open;
  end;

  while not fdeptlayout.ADOquery2.EOF do
    fdeptlayout.ListBox1.Items.Add(fdeptlayout.ADOQuery2['Basic Name']);
end;
Run Code Online (Sandbox Code Playgroud)

目前,这会向列表框中添加350个项目,其中包含大量重复项.这太多了.如何更改查询以从结果中删除重复项?:(任何帮助都会很棒!

delphi delphi-xe2

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