我得到了所有的插件工作,一些非官方的pdo驱动程序的PHP(5.6)
这是我的php;
<?php
$head = $_POST['title'];
$bread = $_POST['html'];
$author = $_POST['selectlist1'];
$postdate = date('y-m-d h:i:s',time());
$cat = $_POST['selectlist2'];
$serverName = 'SERVER\SQLEXPRESS';
$db = new PDO('sqlsrv:Server=$serverName;Database=blog', 'sa', '******');
$db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$sql = 'INSERT INTO dbo.blog_posts (blog_title, blog_post, blog_author, blog_date, blog_category) VALUES (:head, :bread, :author, :postdate, :cat)';
$query = $db->prepare( $sql );
$query->execute( array(':head'=>$head, ':bread'=>$bread, ':author'=>$author, ':postdate'=>$postdate, ':cat'=>$cat ) );
?>
我得到错误:
致命错误:未捕获的异常&#39; PDOException&#39; with message&#39; SQLSTATE [08001]:[Microsoft] [SQL Server Native Client 11.0]命名管道提供程序:无法打开与SQL Server的连接[53]。 &#39;在C:\ inetpub \ wwwroot \ blog \ post.php:9堆栈跟踪:#0 C:\ inetpub \ wwwroot \ blog \ post.php(9):PDO-&gt; __ construct(&#39; sqlsrv:Server = $ ...&#39;,&#39; sa&#39;,&#39; *****&#39;)#1 {main}在C:\ inetpub \ wwwroot \ blog \ post中引发。第9行的PHP
我启用了命名管道等我没有更多想法我做错了什么...我用Google搜索了几个小时... 而不是$ serverName我试过localhost,127.0.0.1 etcetc,但我不能让它工作!
经过多次挖掘后我发现Named Pipes Provider:无法打开与SQL Server的连接[53]是某种网络问题,不知道有什么问题......Oke我认为我正在路上,现在我得到了:
致命错误:未捕获的异常&#39; PDOException&#39;与消息 &#39; SQLSTATE [22007]:[Microsoft] [SQL Server Native Client 11.0] [SQL 服务器]将nvarchar数据类型转换为日期时间数据类型 导致超出范围的价值。&#39;在 C:\ inetpub \ wwwroot \ blog \ post.php:15堆栈跟踪:#0 C:\ inetpub \ wwwroot \ blog \ post.php(15):PDOStatement-&gt; execute(Array)#1 {main}在第15行的C:\ inetpub \ wwwroot \ blog \ post.php中抛出
答案 0 :(得分:0)
我对所有内容做了很多改动而没有做任何事情,但现在它终于有效了,最后我的代码看起来像这样:
<?php
error_reporting(E_ALL); ini_set('display_errors', 1);
$head = $_POST['title'];
$bread = $_POST['html'];
$author = $_POST['selectlist1'];
$postdate = date('Y-m-d H:i:s');
$cat = $_POST['selectlist2'];
$db = new PDO('sqlsrv:server=localhost;Database=blog', '****', '******');
$db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$sql = 'INSERT INTO dbo.blog_posts (blog_title, blog_post, blog_author, blog_date, blog_category) VALUES (:head, :bread, :author, :postdate, :cat)';
$query = $db->prepare( $sql );
$query->execute( array(':head'=>$head, ':bread'=>$bread, ':author'=>$author, ':postdate'=>$postdate, ':cat'=>$cat ) );
?>
所以基本上我一直尝试的东西做了工作,我在ms sql server管理工作室等改变了一些所有权的东西,我认为这对我有用了!