通过pdo连接到服务器不起作用,如何添加端口到连接?

时间:2017-11-23 15:43:56

标签: php mysql pdo

我正在1& 1托管域名,我想使用pdo连接我的数据库。不使用端口,它不起作用,我不知道如何将端口添加到我的代码....

$mysql_host = "xxxxxxxxx";
$mysql_username = "xxxxxxxxxxxxxx";
$mysql_database = "xxxxxxxxxxxxxxx";
$mysql_password = "xxxxxxxxxxxxxxx";

$pdo = new PDO("mysql:host=" . $mysql_host . ";dbname=" . $mysql_database , $mysql_username , $mysql_password);

我不确定但问题可能不会与连接一起使用,而是使用mysql命令......

  $schematic_statement = $pdo->prepare('SELECT title FROM schematics-download WHERE id = 1');
  $schematic_statement->bindParam('title', $Title);
  $schematic_statement->execute();
  $TITLE = $schematic_statement->fetch();

  echo ($TITLE);

感谢您的帮助!

1 个答案:

答案 0 :(得分:3)

  

“没有使用端口,它不起作用,我不知道如何将端口添加到我的代码....”

这(可能)与移植无关。

但是,您的代码包含一些(语法)错误。

1)您无法绑定列(或表)

您的SELECT titlebindParam('title'建议。

2)FROM schematics-download - mysql将其解释为FROM schematics MINUS download,因此您需要转义表名。

即:

FROM `schematics-download`

如果这是一个移植问题,那么this user contributed note会向您展示如何操作。

$conn = new PDO('mysql: host=123.4.5.6;dbname=test_db;port=3306','username','password');
                                                      ^^^^^^^^^^

http://php.net/manual/en/ref.pdo-mysql.connection.php

More complete examples:

mysql:host=localhost;port=3307;dbname=testdb
mysql:unix_socket=/tmp/mysql.sock;dbname=testdb

对于错误处理,PDO具有:

这会让你失望。

取自克里斯的评论:

  

“稍后您获取哪个返回数组,因此无法回显$ TITLE。”

查看有关在PDO中获取数据的文档:

有很多例子可以告诉你这样做。