某些SQL工具集(如PDO)可以根据所选的第一列执行特殊操作,例如将其作为类名进行实例化或将其用作哈希表中的键.不幸的是,PDO从结果中删除了该列.如果我仍然希望它成为结果的一部分怎么办?
我尝试过诸如此类的查询
SELECT `class` as `myclass`, * FROM `mytable`
Run Code Online (Sandbox Code Playgroud)
但是我收到了错误:
#1064 - 您的SQL语法有错误; 检查与MySQL服务器版本对应的手册,以便
mytable在第1行的'*FROM附近使用正确的语法
我知道列名中不会有冲突,因此
as `myclass`
Run Code Online (Sandbox Code Playgroud)
以下工作正常:
SELECT `class` as `myclass`, `class` FROM `mytable`
Run Code Online (Sandbox Code Playgroud)
如果没有自我加入或列出完整的列列表,这是否可行?
好吧,从讨论哈希方法的弱点来看,我已经知道唯一一个好的蛮力是有效的打破.
所以,问题是:
是否有一种哈希算法比其他算法更苛刻?
在散列密码的情况下.
任何想法为什么这不起作用?
if($page->Slug != 'water-filters' || $page->Slug != 'pet-care' || $page->Slug != 'books') {
//do something
}
Run Code Online (Sandbox Code Playgroud) 关于Code Igniter和MySql:
如何通过htaccess隐藏url中的index.php?
在我的 WordPress 博客上,每当我遇到 PHP 错误时,它都会破坏网站并显示带有 PHP 错误的白页。
例如:
解析错误:语法错误,意外的“;” 在...
我可以修复错误。但是,我不希望用户在我这样做时看到损坏的网站。我可以启用一个设置来抑制错误(或更优雅地处理错误)并继续解析 PHP 的其余部分吗?
$count = mysql_query("SELECT COUNT(id) FROM users");
echo $count;
Run Code Online (Sandbox Code Playgroud)
这是行不通的。错误消息资源 ID 未知 #21。
如何解决这个问题?
我在php中编写一个select查询.一切都在工作,除了Time函数,我想在其中添加一个div函数来调用我的倒数计时器并使用数据库中的值时间.有没有人对如何将我的倒数计时器包含在PHP脚本中有任何建议?
干杯
while ($row = mysql_fetch_array($result)) {
echo
"".$row{'Url'}."<br>";
echo
"Name:".$row{'Name'}."<br>";
echo
"Price: $ ".$row{'Price'}."<br>";
echo
"Time:" <div class = "qwerty" data-countdown= .$row{'Time'}.></div>"<br>";
echo
"Location:".$row{'Location'}."<br>";
echo
"Description:".$row{'Description'}."<br>";
echo ("-----------------------")."<br><br>";
Run Code Online (Sandbox Code Playgroud) 好吧,所以我一直试图弄清楚这两天没有真正的成功
这是我的代码
$splash_list = '';
$splash_array = array();
$sql = "SELECT * FROM pm WHERE receiver='$username' OR sender='$username'";
$query = mysqli_query($db, $sql);
while($row = mysqli_fetch_array($query, MYSQLI_ASSOC)){
if($username == $row['sender']){
$otuser = array_push($splash_array, $row['receiver']);
$this_user = $row['sender'];
} else {
$otuser = array_push($splash_array, $row['sender']);
$this_user = $row['receiver'];
}
}
foreach($splash_array as $otuser){
$splash_list .= '<div>'.$otuser.'<br></div>';
}
Run Code Online (Sandbox Code Playgroud)
输出是otuser1 otuser1 otuser1 otuser2 otuser2
如果任何人可以给我一个关于我如何只是输出每个值的指针otuser1 otuser2
非常感谢:)
我正在尝试将函数存储在文件中并在需要时提取以运行,但我找不到更好的方法来执行此操作。
这是我尝试过的:
function store_callable(string $func)
{
writefile($func);
}
eval(readfile());
Run Code Online (Sandbox Code Playgroud)
我首先关心的是参数的类型$func。我期望仅接收callable作为参数,但我找不到将 PHP 可调用转换为字符串以保存的方法。
其次,虽然eval()这里使用 来运行保存的函数,但我想知道是否有更好的方法来做到这一点,尽管似乎没有。
我不认为这是一种序列化,但它们似乎有相似之处,所以我仍然添加了标签。
编辑:
我最初的想法是创建一个通知系统,将消息推送到用户的特定帐户。但是,某些通知仅专门推送到一台设备或 IP。这意味着我需要一个过滤功能。我实际上可以通过使用像这样的新属性来完成此操作,restricted-to但我想filter-function在通知对象中创建一个更通用的字段,该字段返回一个布尔值,并让系统决定是否在此负载上推送通知。
编辑2:
我实际上可以直接将它们编码在PHP文件中,但这会变得混乱,因为不同的通知有不同的过滤器来决定是否推送它们,我可以给你一个例子:
new Notification("message");
class Notification
{
public function push_or_not()
{
if($this->isabout== "login" && checkIP())
{
\\ sth
}
else if()
else if()
//and so on
}
}
Run Code Online (Sandbox Code Playgroud)
这样实际上可以运行并避免安全风险。但这还不够普遍。这意味着我需要if-else首先编辑此处,并type在此处创建一个新属性。
我只是问直接存储在通知数据中的初始更通用的过滤器函数(因为我可以在每个通知中定义它,但在这里我可以添加类型并将其与类型相关联)是否更好(以及任何改进)或这里的后一个更好。
这里似乎没有太大的安全风险,因为这里的代码与用户输入无关。
我想通过PHP将一些参数从应用程序发送到数据库表.我使用'GET'方法并希望对变量设置一些限制和/或以某种方式使其安全,如下面的方法.好消息是它们只能包含希腊字母,数字和.-,符号.
这样做是否正确?
形成:
<input type="text" name="a">
<input type=text" name="b">
Run Code Online (Sandbox Code Playgroud)
网址:
http://the url.php?a=4,52&b=????.,-12345
Run Code Online (Sandbox Code Playgroud)
我想要它做什么,只需:
如果用户发送现有ID以及PHP文件中定义的正确密钥,则显示id = x的行.
安全方法[编辑]:
$dbh=db_conn();
$vara = mb_convert_encoding($_GET["a"], 'UTF-8', 'ISO-8859-7');
$varb = mb_convert_encoding($_GET["b"], 'UTF-8', 'ISO-8859-7');
$sqlb = $dbh->prepare("SELECT * FROM table WHERE id = ? AND $vara='myknowkey';");
$sqlb->execute($varb);
Run Code Online (Sandbox Code Playgroud)