您是否可以使用PDO向准备好的语句发送超出需要的参数而没有不良副作用?
这可能看起来像一个奇怪的问题,但我问,因为我连续4个查询,它们都使用相似和不同的参数.查询的相关部分:
第1名(选择,与其他人不同):
WHERE threadID = :tid
第二(选择):
WHERE user_ID = :u_ID AND thread_ID = :tid
第3次(如果第2次成功则更新):
SET time = :current_time WHERE user_ID = :u_ID AND thread_ID = :tid
第4次(如果第二次失败则插入):
VALUES (:u_ID, :tid, :current_time)
我可以在开头声明一个带有三个参数的数组,并将其用于所有4个查询吗?
为了解决任何混淆,查询将单独执行.它是重用的参数变量,因此这意味着某些查询将接收它们不需要的参数.所以类似于:
$parameters = array(':tid' => $tid, ':u_ID' => $u_ID, ':current_time' => $time);
$1st = $db->prepare($query1);
$1st->execute($parameters);
$2nd = $db->prepare($query2);
$2nd->execute($parameters);
$3rd = $db->prepare($query3);
$3rd->execute($parameters);
$4th = $db->prepare($query4);
$4th->execute($parameters);
Run Code Online (Sandbox Code Playgroud)
如果可以的话,我应该吗?这会减慢或导致我的数据库或脚本的安全漏洞吗?
如果我能让这个问题更清楚一点,请问.
谢谢!
是否可以使用变量调用名称空间?
例如:
$class_name = strtolower( $interface_name );
$return['html'] = \interfaces\$class_name::get_loginForm();
Run Code Online (Sandbox Code Playgroud)
但是,这会返回错误:
解析错误:语法错误,意外的“$class_name”(T_VARIABLE),期望标识符(T_STRING)
我正在连接到几个第三方 API,它们都做同样的事情,但以自己独特的方式。用户在加入我们的网站之前就已经连接到他们首选的 API。不同 API 的中间件将存储在同一命名空间下的定制文件中。
可以解决在接口名称上运行开关并调用相关命名空间的问题,但这意味着每次新 API 出现时都必须定位并添加到开关,因此解决此问题的任何帮助都将是受到赞赏。干杯。
我创建了一个页面,它是三个独立网站的登录门户.在此页面上,我向所述网站显示了三个登录门户.我试图用css和尽可能少的课程来设计它(我需要微调我的CSS技能).
我创建的是一个包含三行和两列的表,名为loginPortals:
<table class="loginPortals">
<tbody>
<tr>
<td>Picture 1</td>
<td>Login form 1</td>
</tr>
<tr>
<td>Picture 2</td>
<td>Login form 2</td>
</tr>
<tr>
<td>Picture 3</td>
<td>Login form 2</td>
</tr>
</tbody>
</table>
Run Code Online (Sandbox Code Playgroud)
我刚刚开始制作桌子的样式,所以它非常不完整,但我已经在努力了.这是简化的,因为我不确切地知道它的外观.基本上,我想在每一行之间出现某种边界.以下并不是我想要的那样:
.loginPortals{
width:100%;
}
.loginPortals tbody:first-child td{
border-top:1px solid #000;
}
.loginPortals tbody tr td{
border-bottom:1px solid #000;
padding:1em 0;
}
Run Code Online (Sandbox Code Playgroud)
第一个孩子选择器没有像我想象的那样工作.它将顶部边框应用于所有行中的所有单元格.这导致线条厚度在行的中间加倍.
如何解决此问题,以便顶部边框仅应用于顶行而不创建额外的类或应用任何内联样式.
谢谢!
乔