- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
主要问题是过去一周我无法让我的脚本运行查询。
我正在运行 wamp apache 2.4、php 5.5 和 mysql 5.6
if ($flag == true) {
//try to connect to db with given parameters
// minimal validation to make sure no input was sent in error so now i can begin code to connect to database
// using the pdo php data object extension
print 'all input validated';
$host= "127.0.0.1";
$db_name ="theturnbuckle";
$port= "3306";
$dbusername= 'root';
$dbpassword= '';
//registration details including host, port and database name
$dsn = "mysql:host=$host;port=$port;dbname=$db_name;";
//error handling for connection
try {
$db = new PDO($dsn, $dbusername, $dbpassword);
//if no proplems flag a variable for connection status which is to be used later.
$db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$db->setFetchMode(PDO::FETCH_ASSOC);
//first query to test that the username is not in the database.
$username = $_POST['username'];
$userquery = "SELECT username FROM registation_view WHERE username = :username" ;
//second query to test for existing email
$email = $_POST['email'];
$emailquery = "SELECT email FROM registation_view WHERE email = :email";
//preparing statement, binding html input to variables to be used in the prepared statement.
$db = new PDO($dsn, $dbusername, $dbpassword);
$stmt = $db->prepare($userquery);
$stmt->bindParam(':username', $username, PDO::PARAM_STR, 15);
//execute the query in variable
$stmt->execute($userquery);
if ($stmt->fetchColumn() > 0){
print 'Sorry ' .$username . 'is already in use please try another';
}//else the username is not is use as fetchColumn is null or the if is false
else {$registerprocess === true;}
$db = new PDO($dsn, $dbusername, $dbpassword);
$stmt = $db->prepare($emailquery);
$stmt->bindParam(':email', $email, PDO::PARAM_STR, 15);
$stmt->execute($emailquery);
if ($stmt->fetchColumn() > 0){
print 'Sorry ' .$_POST['email'] . 'is already in use please try another';
$registerprocess === false;
}//else the email is not is use as fetchColumn is not > 0 so the registration proceeds.
else {$registerprocess === true;}
// catch (PDOException $e){
//die("Unable to run query: " . $e->getMessage());}
if ($registerprocess === true) {
//username and email are not on record so i am free to INSERT data into database
$query = "INSERT INTO registration_view (username, password, email, gender, date_of_birth, joindate)
VALUES (?, ?, ?, ?, ?, ?)";
$joindate = now();
$date_of_birth = $_POST['day'] . $_POST['month'] . $_POST['year'];
$stmt->prepare($query);
$stmt->bindParam(1, $_POST['username'], PDO::PARAM_STR, 20) ;
$stmt->bindParam(2, $_POST['password'], PDO::PARAM_STR, 20) ;
$stmt->bindParam(3, $_POST['email'], PDO::PARAM_STR, 20) ;
$stmt->bindParam(4, $_POST['gender']) ;
$stmt->bindParam(5, $date_of_birth) ;
$stmt->bindParam(6, $joindate) ;
$stmt->execute();
print ' Welcome ' .$username . 'you are now registered';
}
} catch (PDOException $e) {
die("Unable to connect: " . $e->getMessage());
}
}//INPUT VALIDATION IF
这是我的代码,第一个标志是在数据验证成功后继续运行,大部分工作已经完成并打印“验证”;证实了这一点。
我确信 $dsn 没有错误,因为之前用单引号括起来时会显示错误,现在不会显示此类错误。
虽然我对代码困惑持开放态度,但我也一直在检查 php.ini my.ini 和 apache.config,但正如所说的一周没有运气。
我唯一可以添加的帮助(或者至少可能是一个线索)是 apache 和 php 错误日志的一些错误。
当我尝试从本地主机运行脚本时,Apache 显示此信息。
[Mon Dec 29 12:49:13.855653 2014] [authz_core:error] [pid 3632:tid 964] [client ::1:49206] AH01630: client denied by server configuration: C:/Apache24, referer: http://localhost/theturnbuckle/
并且 php 显示了这个,尽管我在安装之前重新安装了 apche 服务器,但我将 php_intl.dll 和 phpldap.dll 移动到 wamp 中的另一个文件夹,这些错误消失了。 (甚至不确定这是否是最佳实践)
[24-Dec-2014 12:00:37 UTC] PHP Warning: PHP Startup: Unable to load dynamic library 'c:/wamp/bin/php/php5.5.12/ext/php_intl.dll' - The specified module could not be found.
在第 0 行未知
[24-Dec-2014 12:00:37 UTC] PHP Warning: PHP Startup: Unable to load dynamic library 'c:/wamp/bin/php/php5.5.12/ext/php_ldap.dll' - The specified module could not be found.
第 0 行未知
我取消了一些 mysql 服务器变量的注释。
innodb_data_home_dir = C:\mysql\data/
innodb_data_file_path = ibdata1:10M:autoextend
innodb_log_group_home_dir = C:\mysql\data/
innodb_log_arch_dir = C:\mysql\data/
最后我检查了一些 php.ini 服务器变量来尝试帮助解决这种情况,显示错误已打开。
似乎安装了所有 php 扩展,例如 php_pdo_mysql 和 php_mysqli。
但最终我还是在黑暗中挣扎。
最佳答案
您有两个警告:
[24-Dec-2014 12:00:37 UTC] PHP Warning: PHP Startup: Unable to load dynamic library 'c:/wamp/bin/php/php5.5.12/ext/php_intl.dll' - The specified module could not be found.
和
[24-Dec-2014 12:00:37 UTC] PHP Warning: PHP Startup: Unable to load dynamic library 'c:/wamp/bin/php/php5.5.12/ext/php_ldap.dll' - The specified module could not be found.
因此只需安装或启用这些扩展即可。
关于php - 让 PDO(或 mysqli 扩展)在数据库上运行查询时出现问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27691241/
我有三张 table 。表 A 有选项名称(即颜色、尺寸)。表 B 有选项值名称(即蓝色、红色、黑色等)。表C通过将选项名称id和选项名称值id放在一起来建立关系。 我的查询需要显示值和选项的名称,而
在mysql中,如何计算一行中的非空单元格?我只想计算某些列之间的单元格,比如第 3-10 列之间的单元格。不是所有的列...同样,仅在该行中。 最佳答案 如果你想这样做,只能在 sql 中使用名称而
关闭。这个问题需要多问focused 。目前不接受答案。 想要改进此问题吗?更新问题,使其仅关注一个问题 editing this post . 已关闭 7 年前。 Improve this ques
我正在为版本7.6进行Elasticsearch查询 我的查询是这样的: { "query": { "bool": { "should": [ {
关闭。这个问题需要多问focused 。目前不接受答案。 想要改进此问题吗?更新问题,使其仅关注一个问题 editing this post . 已关闭 7 年前。 Improve this ques
是否可以编写一个查询来检查任一子查询(而不是一个子查询)是否正确? SELECT * FROM employees e WHERE NOT EXISTS (
我找到了很多关于我的问题的答案,但问题没有解决 我有表格,有数据,例如: Data 1 Data 2 Data 3
以下查询返回错误: 查询: SELECT Id, FirstName, LastName, OwnerId, PersonEmail FROM Account WHERE lower(PersonEm
以下查询返回错误: 查询: SELECT Id, FirstName, LastName, OwnerId, PersonEmail FROM Account WHERE lower(PersonEm
我从 EditText 中获取了 String 值。以及提交查询的按钮。 String sql=editQuery.getText().toString();// SELECT * FROM empl
我有一个或多或少有效的查询(关于结果),但处理大约需要 45 秒。这对于在 GUI 中呈现数据来说肯定太长了。 所以我的需求是找到一个更快/更高效的查询(几毫秒左右会很好)我的数据表大约有 3000
这是我第一次使用 Stack Overflow,所以我希望我以正确的方式提出这个问题。 我有 2 个 SQL 查询,我正在尝试比较和识别缺失值,尽管我无法将 NULL 字段添加到第二个查询中以识别缺失
什么是动态 SQL 查询?何时需要使用动态 SQL 查询?我使用的是 SQL Server 2005。 最佳答案 这里有几篇文章: Introduction to Dynamic SQL Dynami
include "mysql.php"; $query= "SELECT ID,name,displayname,established,summary,searchlink,im
我有一个查询要“转换”为 mysql。这是查询: select top 5 * from (select id, firstName, lastName, sum(fileSize) as To
通过我的研究,我发现至少从 EF 4.1 开始,EF 查询上的 .ToString() 方法将返回要运行的 SQL。事实上,这对我来说非常有用,使用 Entity Framework 5 和 6。 但
我在构造查询来执行以下操作时遇到问题: 按activity_type_id过滤联系人,仅显示最近事件具有所需activity_type_id或为NULL(无事件)的联系人 表格结构如下: 一个联系人可
如何让我输入数据库的信息在输入数据 5 分钟后自行更新? 假设我有一张 table : +--+--+-----+ |id|ip|count| +--+--+-----+ |
我正在尝试搜索正好是 4 位数字的 ID,我知道我需要使用 LENGTH() 字符串函数,但找不到如何使用它的示例。我正在尝试以下(和其他变体)但它们不起作用。 SELECT max(car_id)
我有一个在 mysql 上运行良好的 sql 查询(查询 + 连接): select sum(pa.price) from user u , purchase pu , pack pa where (
我是一名优秀的程序员,十分优秀!