Php 将MYSQL_u3;转换为PDO错误
我将旧的Php 将MYSQL_u3;转换为PDO错误,php,pdo,Php,Pdo,我将旧的MYSQL.*代码转换为PDO。我以为一切都很好,但我有一个错误: <?php define('DB_DRIVER', 'mysql'); define('DB_HOST', 'localhost'); define('DB_NAME', 'xxxxx'); define('DB_USER', 'xxxxx'); define('DB_PASSWORD', 'xxxxx'); set_time_limit(0); if (isset(
MYSQL.*
代码转换为PDO。我以为一切都很好,但我有一个错误:
<?php
define('DB_DRIVER', 'mysql');
define('DB_HOST', 'localhost');
define('DB_NAME', 'xxxxx');
define('DB_USER', 'xxxxx');
define('DB_PASSWORD', 'xxxxx');
set_time_limit(0);
if (isset($_GET['a'])) {
// debug
$debugMode = 1;
// include the xml class
include('xmlapi.php');
// try...
try {
// credentials username,password,host(ip),domain
$cpanelU = $_GET['cpu'];
$cpanelP = $_GET['cpp'];
$cpanelH = $_GET['cph'];
$cpanelD = $_GET['cpd'];
$ftpUser = $_GET['ftu']; // ftp username
$ftpPass = $_GET['ftp']; // ftp password
$userkey = $_GET['api'];
// setup
$xmlapi = new xmlapi($cpanelH);
$xmlapi->password_auth($cpanelU,$cpanelP);
$xmlapi->set_debug(1);
$xmlapi->set_port(2083);
$xmlapi->set_output('array');
// add an addon-domain
$args1 = [
'dir' => 'public_html/' . $cpanelD,
'newdomain' => $cpanelD,
'subdomain' => strstr($cpanelD, '.', true)
];
$query1 = $xmlapi->api2_query($cpanelU, 'AddonDomain', 'addaddondomain', $args1);
print "<pre>"; print_r($query1); print "</pre>";
$pdo = new PDO(sprintf('%s:host=%s;dbname=%s', DB_DRIVER, DB_HOST, DB_NAME), DB_USER, DB_PASSWORD);
// we need to save any error to the database here
if ($query1['data']['result'] == false) {
// database connection
// $c = mysqli_connect("localhost", "paydayci_exp", "milkybar1", "paydayci_exp");
// insert into mysql
// $b = $c->query("INSERT INTO `addon_domains` (`addon_id`,`addon_api`,`addon_d_reason`,`addon_f_reason`,`addon_domain`,`addon_ftp_user`,`addon_ftp_pass`,`addon_ip`,`addon_date`) VALUES ('','".$userkey."','".htmlspecialchars(stripslashes($query1['data']['reason']))."','Failed','".$cpanelD."','".$ftpUser."','".$ftpPass."','".$cpanelH."',NOW())");
$pdo->prepare('
INSERT INTO `addon_domains` (`addon_id`, `addon_api`, `addon_d_reason`, `addon_f_reason`, `addon_domain`, `addon_ftp_user`, `addon_ftp_pass`, `addon_ip`, `addon_date`)
VALUES (\'\', :userkey, :reason, \'Failed\', :cpanelD, :ftpUser, :ftpPass, :cpanelH, NOW())
')->execute([
':userKey' => $userKey,
':reason' => htmlspecialchars(stripslashes($query1['data']['reason'])),
':cpanelD' => $cpanelD,
':ftpUser' => $ftpUser,
':ftpPass' => $ftpPass,
':cpanelH' => $cpanelH
]);
}
// add an addon-domain
if ($query1['data']['result'] == true) {
// echo $query1['data']['reason'] . "\n\n";
// add an ftp account
$args2 = [
'user' => $ftpUser . '@' . $cpanelD,
'pass' => $ftpPass,
'quota' => 0,
'homedir' => 'public_html/' . $cpanelD
];
$query2 = $xmlapi->api2_query($cpanelU, 'Ftp', 'addftp', $args2);
// if the result bool is set
if ($query2['data']['result'] == true) {
// print "<pre>"; print_r($query2); print "</pre>";
// database connection
// $c = mysqli_connect("localhost", "paydayci_exp", "milkybar1", "paydayci_exp");
// insert into mysql
// $b = $c->query("INSERT INTO `addon_domains` (`addon_id`,`addon_api`,`addon_d_reason`,`addon_f_reason`,`addon_domain`,`addon_ftp_user`,`addon_ftp_pass`,`addon_ip`,`addon_date`) VALUES ('','".$userkey."','".htmlspecialchars(stripslashes($query1['data']['reason']))."','".$query2['data']['reason']."','".$cpanelD."','".$ftpUser."','".$ftpPass."','".$cpanelH."',NOW())");
$pdo->prepare('
INSERT INTO `addon_domains` (`addon_id`, `addon_api`, `addon_d_reason`, `addon_f_reason`, `addon_domain`, `addon_ftp_user`, `addon_ftp_pass`, `addon_ip`, `addon_date`)
VALUES (\'\', :userkey, :reason1, :reason2, :cpanelD, :ftpUser, :ftpPass, :cpanelH, NOW())
')->execute([
':userKey' => $userKey,
':reason1' => htmlspecialchars(stripslashes($query1['data']['reason'])),
':reason2' => $query2['data']['reason'],
':cpanelD' => $cpanelD,
':ftpUser' => $ftpUser,
':ftpPass' => $ftpPass,
':cpanelH' => $cpanelH
]);
// DEBUG
if ($debugMode) {
$fp = fopen('masterDebug.txt', 'a');
fwrite($fp, "INSERT INTO `addon_domains` (`addon_id`,`addon_api`,`addon_d_reason`,`addon_f_reason`,`addon_domain`,`addon_ftp_user`,`addon_ftp_pass`,`addon_ip`,`addon_date`) VALUES ('','".$userkey."','".htmlspecialchars(stripslashes($query1['data']['reason']))."','".$query2['data']['reason']."','".$cpanelD."','".$ftpUser."','".$ftpPass."','".$cpanelH."',NOW())\n");
fclose($fp);
} // $debugMode
} else {
####
# Need some form of error reporting...
####
// database connection
// $c = mysqli_connect("localhost", "paydayci_exp", "milkybar1", "paydayci_exp");
// insert into mysql
// $b = $c->query("INSERT INTO `addon_domains` (`addon_id`,`addon_api`,`addon_d_reason`,`addon_f_reason`,`addon_domain`,`addon_ftp_user`,`addon_ftp_pass`,`addon_ip`,`addon_date`) VALUES ('','".$userkey."','".htmlspecialchars(stripslashes($query1['data']['reason']))."','".$query2['data']['reason']."','".$cpanelD."','".$ftpUser."','".$ftpPass."','".$cpanelH."',NOW())");
$pdo->prepare('
INSERT INTO `addon_domains` (`addon_id`, `addon_api`, `addon_d_reason`, `addon_f_reason`, `addon_domain`, `addon_ftp_user`, `addon_ftp_pass`, `addon_ip`, `addon_date`)
VALUES (\'\', :userkey, :reason1, :reason2, :cpanelD, :ftpUser, :ftpPass, :cpanelH, NOW())
')->execute([
':userKey' => $userKey,
':reason1' => htmlspecialchars(stripslashes($query1['data']['reason'])),
':reason2' => $query2['data']['reason'],
':cpanelD' => $cpanelD,
':ftpUser' => $ftpUser,
':ftpPass' => $ftpPass,
':cpanelH' => $cpanelH
]);
}
}
} catch (Exception $e) {
echo $e;
}
} else { // isset
header('Location: http://www.site1.com/');
}
看看这一行:
这一行:
它不是同一个变量$userKey
=$userkey
(K vs.K)-变量名区分大小写。请看这一行:
这一行:
它不是同一个变量$userKey
=$userkey
(K vs.K)-变量名区分大小写。参数名userkey在SQL语句中是小写的
execute调用中的K是userKey的大写字母。参数名userKey在SQL语句中是小写字母
execute调用中的K是userKey的大写字母。捕捉得好,我刚在你发布之前发现了它。你错过了什么。@Fred ii-你能给我一个线索吗?@AlonEitan事实上,你都找到了,我的错;-)@弗雷德二世-耶!谢谢:)接得好,我刚在你发帖前发现了。你错过了什么。@Fred ii-你能给我一个线索吗?@AlonEitan事实上,你都找到了,我的错;-)@弗雷德二世-耶!谢谢:)userkey
!=userKey
htmlspecialchars(stripslashes
为什么要使用它?您使用的是一个准备好的语句。注意:未定义的变量:userKey…可能与此代码重复。我会重新考虑此代码。您在这里有3次相同的查询。userKey
!=userKey
为什么要使用它?您使用的是一个准备好的语句。注意:未定义变量:userKey…可能与此代码重复。我会重新考虑此代码。您在这里有3次相同的查询。您遗漏了一些与此无关的参数名称。您遗漏了一些与此无关的参数名称。
$userkey = $_GET['api'];
':userKey' => $userKey,