小编You*_*nse的帖子

加入与子查询

我是一个老派的MySQL用户,并且总是优先JOIN于子查询.但是现在每个人都使用子查询,我讨厌它; 我不知道为什么.

如果存在任何差异,我缺乏理论知识来判断自己.子查询是否与a一样好JOIN,因此没有什么可担心的?

mysql sql join subquery

780
推荐指数
14
解决办法
40万
查看次数

isset()和empty() - 使用什么

可能重复:
为什么同时检查isset()和!empty()

你能帮助我改进我的编码风格吗?:)在我需要检查的一些任务中 - 变量为空或包含某些东西.为了解决这个任务,我通常会做以下几点.

检查 - 是否设置此变量?如果它已经设置 - 我检查 - 它是空的还是没有?

<?php
    $var = '23';
    if (isset($var)&&!empty($var)){
        echo 'not empty';
    }else{
        echo 'is not set or empty';
    }
?>
Run Code Online (Sandbox Code Playgroud)

我有一个问题 - 我应该在empty()之前使用isset() - 是否有必要?TIA!

php

100
推荐指数
3
解决办法
10万
查看次数

我想复制一个数据库中包含的表并插入另一个数据库表

我想将表的架构以及该表中的数据复制到实时服务器上另一个数据库中的另一个数据库表.我怎么能这样做?

mysql sql mysqldump

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

如何在不同的环境中获取MySQLi错误信息

在我的本地/开发环境中,MySQLi查询执行正常.但是,当我在我的Web主机环境中上传它时,我收到此错误:

致命错误:在...中的非对象上调用成员函数bind_param()

这是代码:

global $mysqli;
$stmt = $mysqli->prepare("SELECT id, description FROM tbl_page_answer_category WHERE cur_own_id = ?");
$stmt->bind_param('i', $cur_id);
$stmt->execute();
$stmt->bind_result($uid, $desc);
Run Code Online (Sandbox Code Playgroud)

为了检查我的查询,我试图通过控制面板phpMyAdmin执行查询,结果是OK.

php environment mysqli error-reporting prepared-statement

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

PDO :: PARAM的类型为十进制?

我有2个数据库字段

`decval` decimal(5,2)
`intval` int(3)
Run Code Online (Sandbox Code Playgroud)

我有2个pdo查询更新它们.更新int的那个工作正常

$update_intval->bindParam(':intval', $intval, PDO::PARAM_INT);
Run Code Online (Sandbox Code Playgroud)

但我无法更新小数字段.我尝试了以下3种方法,但没有任何效果

$update_decval->bindParam(':decval', $decval, PDO::PARAM_STR);
$update_decval->bindParam(':decval', $decval, PDO::PARAM_INT);
$update_decval->bindParam(':decval', $decval);
Run Code Online (Sandbox Code Playgroud)

看来问题出在数据库类型上decimal?是否存在PDO::PARAM类型的字段decimal?如果没有,我将使用什么作为解决方法?

php mysql database pdo

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

php - 我应该在调用Location:header之后调用exit()吗?

在调用重定向函数头之后,我应该调用exit吗?

<?php // fileA
$urlFailToGoTo = '/formerror.php';

if (sth)
{
   header(sprintf("Location: %s", $urlFailToGoTo));
   exit(); //should I call exit() here? or return?
}

?>
Run Code Online (Sandbox Code Playgroud)

谢谢

php

70
推荐指数
5
解决办法
4万
查看次数

PHP - 将PDO与IN子句数组一起使用

我正在使用PDO执行一个带有IN子句的语句,该子句使用数组作为它的值:

$in_array = array(1, 2, 3);
$in_values = implode(',', $in_array);
$my_result = $wbdb->prepare("SELECT * FROM my_table WHERE my_value IN (".$in_values.")");
$my_result->execute();
$my_results = $my_result->fetchAll();
Run Code Online (Sandbox Code Playgroud)


上面的代码完全正常,但我的问题是为什么这不是:

 $in_array = array(1, 2, 3);
    $in_values = implode(',', $in_array);
    $my_result = $wbdb->prepare("SELECT * FROM my_table WHERE my_value IN (:in_values)");
    $my_result->execute(array(':in_values' => $in_values));
    $my_results = $my_result->fetchAll();
Run Code Online (Sandbox Code Playgroud)

此代码将返回my_value等于$in_array(1)中第一项的项,但不返回数组中的其余项(2和3).

php mysql pdo prepared-statement in-clause

60
推荐指数
3
解决办法
5万
查看次数

如何从PDO中挤出错误信息?

我似乎无法从PDO收到任何错误消息:

#$dbh->setAttribute( PDO::ATTR_ERRMODE, PDO::ERRMODE_WARNING );
try {
  $sth = $dbh->prepare('@$%T$!!!');
  print_r($sth);
  print_r($dbh->errorInfo());
} catch (PDOException $e) {
    echo $e->getMessage();
}
Run Code Online (Sandbox Code Playgroud)

它只给出:

PDOStatement Object
(
    [queryString] => @$%T$!!!
)
Array
(
    [0] => 00000
    [1] =>
    [2] =>
)
Run Code Online (Sandbox Code Playgroud)

setAttribute没有任何帮助.

这是PHP 5.3.3
支持MySQL的Apache 2.0 Handler PDO驱动程序
客户端API版本mysqlnd 5.0.7-dev - 091210 - $ Revision:300533 $

我该怎么做才能获得错误信息?

php error-handling pdo

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

PHP致命错误无法打开所需的文件

我从Apache收到以下错误

[Sat Mar 19 23:10:50 2011] [warn] mod_fcgid:stderr:PHP致命错误:require_once()[function.require]:无法打开所需的'/common/configs/config_templates.inc.php'(include_path =' .:/ usr/share/pear:/ usr/share/php')在第158行的/home/viapi​​cs1/public_html/common/configs/config.inc.php

我肯定不是Apache的专家,但文件config.inc.php和config_templates.inc.php在那里.我也尝试导航到我放在common/configs /中的test.html页面,所以我假设没有任何权利问题.我还设置了config_templates.inc.php的权限,以赋予每个人读,写和执行权限.不知道该做什么,我查看是否有/ usr/share/php目录,我发现没有,但是当我做了yum install php时,它说它有最新版本.想法?

php path

51
推荐指数
3
解决办法
34万
查看次数

参考 - 有关PDO的常见问题解答

这是什么?

这是有关PHP数据对象的常见问题列表

为什么是这样?

由于PDO具有常规PHP用户未知的某些功能,因此有关PDO中的预准备语句和错误处理的问题非常频繁.所以,这只是一个可以找到它们的地方.

我该怎么办?

如果您的问题已与此列表密切相关,请在下面找到您的问题并将修复程序应用于您的代码.对其他问题进行简要介绍也是一个好主意,让自己为其他常见陷阱做好准备.

列表

也可以看看

php pdo

50
推荐指数
3
解决办法
7614
查看次数