我想在我的数据库中存储IP地址,但我还需要在整个应用程序中使用它们.我读到了使用INET_ATON()
和INET_NTOA()
在我的MySQL查询中从IP地址中获取32位无符号整数,这正是我想要的,因为它将比使用char(15)更快地搜索数据库.
问题是,我找不到一个在PHP中做同样事情的函数.我遇到的唯一一件事是:
http://php.net/manual/en/function.ip2long.php
所以我测试了它:
$ip = $_SERVER['REMOTE_ADDR'];
echo ip2long($ip);
Run Code Online (Sandbox Code Playgroud)
它什么也没输出.在他们给它的例子似乎工作,但再次我不确定是否ip2long()
做同样的事情INET_ATON()
.
有人知道这样做的PHP函数吗?甚至是在数据库中存储IP地址的全新解决方案?
谢谢.
假设我有一个通过.ShowDialog()方法打开的表单.
在某些时候,我将一些事件处理程序附加到窗体上的某些控件.
例如
// Attach radio button event handlers.
this.rbLevel1.Click += new EventHandler(this.RadioButton_CheckedChanged);
this.rbLevel2.Click += new EventHandler(this.RadioButton_CheckedChanged);
this.rbLevel3.Click += new EventHandler(this.RadioButton_CheckedChanged);
Run Code Online (Sandbox Code Playgroud)
当表单关闭时,我需要删除这些处理程序,对吧?
目前,我在触发FormClosing事件时执行此操作.
例如
private void Foo_FormClosing(object sender, FormClosingEventArgs e)
{
// Detach radio button event handlers.
this.rbLevel1.Click -= new EventHandler(this.RadioButton_CheckedChanged);
this.rbLevel2.Click -= new EventHandler(this.RadioButton_CheckedChanged);
this.rbLevel3.Click -= new EventHandler(this.RadioButton_CheckedChanged);
}
Run Code Online (Sandbox Code Playgroud)
但是,我已经看到一些在Dispose()方法中删除处理程序的示例.
这样做有"最佳实践"方式吗?
(使用C#,Winforms,.NET 2.0)
谢谢.
我正在使用php和mysql进行在线测验,需要一些帮助来决定如何设计数据库以优化插入问题/答案并为测验选择问题.该表将分别包含80个问题,包括4个可能的选项和正确的答案.
从数据库中检索问题和选项时,我将随机选择25个问题及其选项.
为所有问题,选项和正确答案制作一个专栏是否更好?例如:
ID | Q | OPT1 | OPT2 | OPT3 | OPT4 | ANS
Run Code Online (Sandbox Code Playgroud)
或者为每个问题,选项和正确的答案制作专栏会更好吗?例如:
Q1 | Q1_OPT1 | Q1_OPT2 | Q1_OPT3 | Q1_OPT5 | Q1_ANS | Q2 | Q2_OPT1 | Q2_OPT2...
Run Code Online (Sandbox Code Playgroud) 我试图使用Javascript获取SVG元素的位置.我已设法获得具有X/Y属性设置的元素的位置.但是诸如路径之类的元素没有这个属性.至少在我的文档中没有.
有没有办法计算位置而不是在"路径"中取第一个数字?
谢谢,莫滕
我正在使用Maruku降价处理器.我喜欢这个
*blah* blah "blah" in [markdown](blah)
<script src="http://code.jquery.com/jquery-1.4.2.min.js"></script>
<script>
...do stuff...
</script>
Run Code Online (Sandbox Code Playgroud)
但是当我用大量错误渲染它时它会抱怨.第一个是
___________________________________________________________________________
| Maruku tells you:
+---------------------------------------------------------------------------
| Could you please format this better?
| I see that "<script type='text/javascript'>" is left after the raw HTML.
| At line 31
| raw_html |<script src='http://code.jquery.com/jquery-1.4.2.min.js' /><script type='text/javascript'>|
| text --> |//<![CDATA[|
Run Code Online (Sandbox Code Playgroud)
然后其余部分似乎解析器变得疯狂.然后它将javascript渲染到页面上的div中.我试过把它变成CDATA块,并在jquery和我的脚本之间留出额外的间距.
救命?
在pdb控制台时,输入导致异常的语句只会导致单个行堆栈跟踪,例如
(Pdb) someFunc()
*** TypeError: __init__() takes exactly 2 arguments (1 given)
Run Code Online (Sandbox Code Playgroud)
但是,我想弄清楚someFunc
错误的确切位置.即在这种情况下,__init__
附加哪个类.
有没有办法在Pdb中获得完整的堆栈跟踪?
我应该如何在单引号中添加斜线并忽略双引号?我正在使用PHP.我只想逃避单引号,以防止我的php mysql查询中断.
谢谢!
编辑:我认为正则表达式搜索和替换将是最有帮助的.
如果这是HTMLDivElement,我该如何避免这样做?
$('#' + $(this).id + " > p").foo();
Run Code Online (Sandbox Code Playgroud)
做类似的事情:
($(this) + $( " > p")).foo();
Run Code Online (Sandbox Code Playgroud) 每次有人按下添加行按钮时,我都会尝试使用jquery来克隆表格行.谁能告诉我我的代码有什么问题?我在视图中使用HTML + smarty模板语言.这是我的模板文件的样子:
<table>
<tr>
<td>Description</td>
<td>Unit</td>
<td>Qty</td>
<td>Total</td>
<td></td>
</tr>
<tbody id="entries">
{foreach from=$arrItem item=i name=inv}
<tr>
<td>
<input type="hidden" name="invoice_item_id[]" value="{$i.invoice_item_id}"/>
<input type="hidden" name="assignment_id[]" value="{$i.assignment_id}" />
<input type="text" name="description[]" value="{$i.description}"/>
</td>
<td><input type="text" class="unit_cost" name="unit_cost[]" value="{$i.unit_cost}"/></td>
<td><input type="text" class="qty" name="qty[]" value="{$i.qty}"/></td>
<td><input type="text" class="cost" name="cost[]" value="{$i.cost}"/></td>
<td><a href="javascript:void(0);" class="delete-invoice-item">delete</a></td>
</tr>
{/foreach}
</tbody>
<tfoot>
<tr><td colspan="5"><input type="button" id="add-row" value="add row" /></td></tr>
</tfoot>
</table>
Run Code Online (Sandbox Code Playgroud)
这是我的Jquery Javascript调用,我知道当我输入alert()语句时会被触发.所以问题是我不知道jquery是如何工作的.
$('#add-row').live('click', function() {$('#entries tr:nth-child(0)').clone().appendTo('#entries');});
Run Code Online (Sandbox Code Playgroud)
那么我做错了什么?
我正在尝试将表名传递给我的mysql存储过程以使用此sproc来选择不同的表,但它不起作用...
这就是我想要的:
CREATE PROCEDURE `usp_SelectFromTables`(
IN TableName varchar(100)
)
BEGIN
SELECT * FROM @TableName;
END
Run Code Online (Sandbox Code Playgroud)
我也尝试了没有@符号,只是告诉我TableName不存在...我知道:)