小编Vin*_*eef的帖子

PHP PDO Sqlsrv 始终以字符串形式返回每个值

如何从具有正确字段类型的数据库中获取值?

我正在使用 PDO Sqlsrv 从数据库获取数据,并且我总是以字符串形式接收数据,如下所示:customer_id : "1"我的customer_id字段类型应该是整数,customer_id : 1phone_number字段类型是 varchar 它返回正确的字符串类型,例如:phone_number : "12345678"

编辑:

我正在使用 PHP 5.5。我已经尝试过这个。

$this->dbh->setAttribute(PDO::SQLSRV_ATTR_FETCHES_NUMERIC_TYPE, true);
Run Code Online (Sandbox Code Playgroud)

我收到了这个错误Fatal error: Undefined class constant 'SQLSRV_ATTR_FETCHES_NUMERIC_TYPE'

我的 PDO 代码:

$this->dbh = new PDO('sqlsrv:Server=' . $_ENV['DB_HOST'] . ';Database=' . $_ENV['DB_NAME'], $_ENV['DB_USER'], $_ENV['DB_PASS']);
$this->dbh->exec('set names ' . $_ENV['DB_CHAR_SET']);
$this->dbh->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$this->dbh->setAttribute(PDO::ATTR_STRINGIFY_FETCHES, false);
$this->dbh->setAttribute(PDO::SQLSRV_ATTR_FETCHES_NUMERIC_TYPE, true); // Got Error 
$this->dbh->setAttribute(PDO::SQLSRV_ATTR_ENCODING, PDO::SQLSRV_ENCODING_UTF8);
Run Code Online (Sandbox Code Playgroud)

php pdo sqlsrv

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

显示多个值而不使用逗号

如何Tags将此值显示为此示例中的帖子标记?

产品表

+----+--------+--------------------------+
| ID |  Name  |           Tags           |
+----+--------+--------------------------+
|  1 | Shirt  | Shirt,Clothes,Blue-Shirt |
|  2 | Shoes  | Shoes,Red-Shoes          |
|  3 | Jacket | Jacket,Clothes           |
+----+--------+--------------------------+
Run Code Online (Sandbox Code Playgroud)

<?php
$result= mysql_query("SELECT * FROM product") or die (mysql_error());
while ($rows = mysql_fetch_array ($result))
{ 
?>
    <div class="post">
        Product name : <?php echo $rows['name']; ?>
        <ul class="tags">
           <li>Tagged :</li>
           <li><a href="#"><?php echo $rows['tags']; ?></a></li>
       </ul>
    </div>
<?php } ?>
Run Code Online (Sandbox Code Playgroud)

我的代码给出了这个结果.

php mysql

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

标签 统计

php ×2

mysql ×1

pdo ×1

sqlsrv ×1