相关疑难解决方法(0)

PHP PDO :: bindParam()数据类型..它是如何工作的?

我想知道bindParam()(或bindValue())中的数据类型声明用于...

我的意思是,我认为如果我定义一个整数参数(PDO::PARAM_INT),必须将参数转换为整数,类似于

$delete->bindParam(1, $kill, PDO::PARAM_INT);
// should work like
$delete->bindParam(1, (int)$kill);
Run Code Online (Sandbox Code Playgroud)

或者如果参数不是声明的类型,至少抛出一个错误.但这种情况并非如此.

谷歌搜索,我发现在php.net档案:

大家好,

我目前正在研究PDO.正好在bindParam()函数上.第三个参数data_type似乎在这里强制值的类型?但是当我尝试:

$sql = "INSERT INTO produit (idproduit, nom, marque) VALUES (NULL, :nom, :marque)";
$stmt = $dbh->prepare($sql);
$nom = 'Testarossa'; $marque = 'Ferrari' ;
$stmt->BindValue(':marque',$marque) ;
$stmt->BindParam(':nom',$nom,PDO::PARAM_INT) ;

$stmt->execute(); $nom = '250 GTO' ;
$stmt->execute(); ?>
Run Code Online (Sandbox Code Playgroud)

我希望在我的数据库中有PHP错误或整数.但在我的数据库中我有:

22 Testarossa Ferrari 23 250 GTO法拉利

这意味着如果我有第三个参数,它不会改变.或许我想念一些东西.有人能容忍我吗?或者只是有人告诉我在哪里可以找到有关它的信息.

问候,

Cyruss

这正是我的情况.我的想法出了什么问题?

php pdo types prepared-statement

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

PHP老派功能"或"有例外

可能重复:
PHP:'或'语句失败:如何抛出新的异常?

在PHP中,在各种MySQL连接教程的新手中特别受欢迎,你总能做到这样的事情......

<?php
foo() or die('foo() failed!');
?>
Run Code Online (Sandbox Code Playgroud)

但是如果我尝试这样的事情就会失败......

<?php
foo() or throw new Exception('AHH!');
?>
Run Code Online (Sandbox Code Playgroud)

像这样......

"解析错误:语法错误,意外'投'(T_THROW)......"

有谁知道怎么做类似的事情?我必须在"或"之后设置一个变量吗?

php boolean exception function try-catch

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

PHP rename()不会在出错时抛出异常

我正在使用php应用程序,并且有一行移动文件.我将该方法包含在try ... catch块中,因此,如果抛出错误,则可以管理回滚系统.但是异常永远不会被捕获,因此,重命名会抛出任何异常?我需要尝试其他方法吗?

谢谢

上面的代码:

try{
   if(rename($archivo_salida, $ruta_archivos)){
    //anything;
   }

}catch (Exception $e)
  //do something
}
Run Code Online (Sandbox Code Playgroud)

php exception-handling

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