MSSQL我把數據轉換成MSSQL與PHP有問題 - 我得到這個錯誤:問題與連接從PHP
sqlsrv_query() expects parameter 1 to be resource, boolean given in [path] on line 13
我實在看不出是哪裏的問題,或者如果我有一個語法錯誤。
<?php
$host = "127.0.0.1";
$dbusername = "humid";
$dbpassword = "humid";
$db = "test";
$t = $_GET['t'];
$h = $_GET['h'];
$connectionInfo = array("UID" => $dbusername, "PWD" => $dbpassword, "Database" => $db) or die("Couldnt connect to server");
$dbconnect = sqlsrv_connect($host, $connectionInfo);
$sql = "INSERT INTO historic VALUES(NULL,$t,$h,CURRENT_TIMESTAMP)";
sqlsrv_query($dbconnect, $sql);
?>
任何幫助將不勝感激!我不熟悉MSSQL,MySQL的只有
好了,現在我已經啓用的錯誤消息,並且我有現在這一個:
Array ([0] => Array ([0] => 42000 [SQLSTATE] => 42000 [1] => 126 [code] => 126 [2] => [Microsoft][ODBC Driver 11 for SQL Server][SQL Server]Invalid pseudocolumn "$t". [message] => [Microsoft][ODBC Driver 11 for SQL Server][SQL Server]Invalid pseudocolumn "$t".))
但是,我不知道是什麼那可能是?是否因爲$ t是我不知道的SQL語法?長話短說,我建立從一個Arduino一個臨時和潮溼的記錄設備,我需要它的值張貼到數據庫中(使用PHP) - 語法的PHP是這樣的:
test.php?t=1&h=2
我現在做錯了什麼?當在我的MySQL服務器上進行私人測試時,它一切正常> _ <
- 編輯,找到解決方案! -
好的,我找到了解決方案,但我不確定其他答案是否有直接修復。 MSSQL顯然不像MySQL那樣接受「NULL」。但是那是因爲。我編輯的最後一件事,所以我不確定在之前的代碼中是否有任何錯誤。 Hoever,下面是最終(和工作)的代碼。 Arduino的帖子和一切。找到了!
<?php
$host = "WDKTO560\TEST";
$dbusername = "humid";
$dbpassword = "humid";
$db = "test";
$t = $_GET['t'];
$h = $_GET['h'];
$connectionInfo = array("UID" => $dbusername, "PWD" => $dbpassword, "Database" => $db) or die("Couldnt connect to server");
$dbconnect = sqlsrv_connect($host, $connectionInfo);
$sql = "INSERT INTO historic (temperature, humidity, date) VALUES($t,$h,CURRENT_TIMESTAMP)";
sqlsrv_query($dbconnect, $sql) or die(print_r(sqlsrv_errors(), true));
?>
可能的重複[參考 - 這個錯誤在PHP中意味着什麼?](https://stackoverflow.com/questions/12769982/reference-what-does-this-error-mean-in-php) – miken32