小编Pro*_*irl的帖子

PHP:如何将文件保存在不存在的目录中?

如何将文件保存在不存在的目录中?

换句话说,它必须自动创建目录/子目录(如果它不存在),然后将文件保存到它.

谢谢.

php

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

如何将URL参数列表字符串分解为配对[key] => [value]数组?

可能重复:将
查询字符串解析为数组

我如何爆炸如下的字符串:

a=1&b=2&c=3
Run Code Online (Sandbox Code Playgroud)

这样就变成了:

Array {
 [a] => 1
 [b] => 2
 [c] => 3
}
Run Code Online (Sandbox Code Playgroud)

使用explode()分隔的常规函数&将分隔参数但不成[key] => [value]对分开.

谢谢.

php parameters url explode

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

如何将GET表单提交到基于参数的页面?

我有一个网站,其中每个页面实际上是index.php页面的参数.

所以search页面很简单: www.mysite.com/?p=search

我创建了一个GET表单,其操作是上面的页面(http://www.mysite.com/?p=search).但是,当我提交表单时,它实际上是提交GET参数www.mysite.com/index.php而不是www.mysite.com/?p=search.

如何让表单实际提交给www.mysite.com/?p=search我,以便最终得到如下内容:

www.mysite.com/?p=search&param1=blah1&param2=blah2@&param3=blah3
Run Code Online (Sandbox Code Playgroud)

代替:

www.mysite.com/index.php?param1=blah1&param2=blah2@&param3=blah3
Run Code Online (Sandbox Code Playgroud)

php forms parameters get submit

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

如何在不使用任何主键时加入两个表?

我正在尝试JOIN使用不是相应主键的列的2个表:

SELECT *
FROM TableA A
INNER JOIN TableB B
ON A.col5 = B.col5
Run Code Online (Sandbox Code Playgroud)

然而,上面是返回0 results即使我知道肯定有在列Table A,其col5值匹配值col5Table B.

我究竟做错了什么?

mysql sql join inner-join

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

何时在DB列中使用逗号分隔值?

好的,我知道技术答案绝不是.

但是,有时候似乎通过更少的代码和看似很少的缺点使事情变得更容易,所以请在这里告诉我.

我需要构建一个名为" Restrictions跟踪"用户希望与之联系的用户类型的表,该表将包含以下3列(为简单起见):

minAge
lookingFor
drugs
Run Code Online (Sandbox Code Playgroud)

lookingFor并且drugs可以包含多个值.

数据库理论告诉我应该使用连接表来跟踪用户可能为这些列中的任何一列选择的多个值.

但似乎使用逗号分隔值使事情更容易实现和执行.这是一个例子:

假设用户1具有以下限制:

minAge => 18
lookingFor => 'Hang Out','Friendship'
drugs => 'Marijuana','Acid'
Run Code Online (Sandbox Code Playgroud)

现在让我们说用户2想要联系用户1.好吧,首先我们需要看看他是否符合用户1的限制,但这很容易,即使用逗号分隔的列,如下:

首先,我得到Target的(用户1)限制:

SELECT * FROM Restrictions WHERE UserID = 1
Run Code Online (Sandbox Code Playgroud)

现在我只是将它们放入PHP中的相应变量:

$targetMinAge = $row['minAge'];
$targetLookingFor = $row['lookingFor'];
$targetDrugs = $row['drugs'];
Run Code Online (Sandbox Code Playgroud)

现在我们只检查SENDER(用户2)是否符合这个简单的标准:

COUNT (*) 
   FROM Users
WHERE 
   Users.UserID = 2 AND
   Users.minAge >= $targetMinAge AND
   Users.lookingFor …
Run Code Online (Sandbox Code Playgroud)

php mysql database database-design normalization

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

在MySQL/PHP中存储用户BIRTHDATES的最佳方法是什么?

在MySQL/PHP中存储用户BIRTHDATES的最佳方法是什么?为什么?

我目前将其存储为VARCHAR(10)以下格式:

MM-DD-YYYY
Run Code Online (Sandbox Code Playgroud)

......但我觉得这不是最好的方式,特别是因为我有时会看到那个领域的无效岁月.

请不要只说出最好的方法是什么,也要解释为什么它是最好的方法,以便我可以确信改变我的网站上处理生日的完整方式,如果需要这是一项巨大的任务.

谢谢.

php mysql date

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

可以通过这个一刀切的功能运行所有Mysqli查询(SELECT,UPDATE,DELETE等)吗?

我是Mysqli的新手(从MySQL切换),所以为了保持简单,安全和安全,通过这个一刀切的功能运行绝对所有Mysqli查询是否有意义?

为什么或为什么不以及什么是利弊?

function mysqli_prepared_query($link,$sql,$typeDef = FALSE,$params = FALSE){ 
  if($stmt = mysqli_prepare($link,$sql)){ 
    if(count($params) == count($params,1)){ 
      $params = array($params); 
      $multiQuery = FALSE; 
    } else { 
      $multiQuery = TRUE; 
    }  

    if($typeDef){ 
      $bindParams = array();    
      $bindParamsReferences = array(); 
      $bindParams = array_pad($bindParams,(count($params,1)-count($params))/count($params),"");         
      foreach($bindParams as $key => $value){ 
        $bindParamsReferences[$key] = &$bindParams[$key];  
      } 
      array_unshift($bindParamsReferences,$typeDef); 
      $bindParamsMethod = new ReflectionMethod('mysqli_stmt', 'bind_param'); 
      $bindParamsMethod->invokeArgs($stmt,$bindParamsReferences); 
    } 

    $result = array(); 
    foreach($params as $queryKey => $query){ 
      foreach($bindParams as $paramKey => $value){ 
        $bindParams[$paramKey] = $query[$paramKey]; 
      } 
      $queryResult = array(); 
      if(mysqli_stmt_execute($stmt)){ 
        $resultMetaData = mysqli_stmt_result_metadata($stmt); 
        if($resultMetaData){                                                                               
          $stmtRow …
Run Code Online (Sandbox Code Playgroud)

php database mysqli prepared-statement

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