我想
1.使用表單讓使用者輸入值
2.按下"查詢"會呼叫python執行並且代入剛才使用者輸入的值($value)
3.最後把python所print的東西在網頁上用表格展示(後來改成從資料庫取得資料,資料庫的資料是從被呼叫的py匯入的)
1~2都有成功,3不僅值沒跑出來連表格也沒出現,2的python程式碼都有成功執行
以下是我的php寫法:
<?php
echo '<form action="" method="post">';
echo '<input type="text" name="value" placeholder="請輸入值">';
echo '<input type="submit" value="查詢">';
echo '</form>';
if (isset($_POST['value'])) {
echo '<br>';
$value = $_POST['value'];
// 定義資料庫資訊
$DB_NAME = "mydb"; // 資料庫名稱
$DB_USER = "root"; // 資料庫管理帳號
$DB_PASS = "********"; // 資料庫管理密碼
$DB_HOST = "localhost"; // 資料庫位址
// 連接 MySQL 資料庫伺服器
$con = mysqli_connect($DB_HOST, $DB_USER, $DB_PASS);
if (empty($con)) {
print mysqli_error($con);
die("資料庫連接失敗!");
exit;
}
// 選取資料庫
if (!mysqli_select_db($con, $DB_NAME)) {
die("選取資料庫失敗!");
} else {
/*echo "連接 " . $DB_NAME . " 資料庫成功!<br>";*/
}
// 設定連線編碼
mysqli_query($con, "SET NAMES 'utf8mb3'");
$sql="SELECT * from information WHERE `search_id`='" . $value . "'";
$result = mysqli_query($con, $sql);
$nums = mysqli_num_rows($result); //查詢資料筆數
echo '<table border="1">';
echo '<tr>';
echo '<th>欄位 1</th>';
echo '<th>欄位 2</th>';
echo '<th>欄位 3</th>';
echo '<th>欄位 4</th>';
echo '</tr>';
echo '<tr>';
#--------------------資料庫無資料----------------------
if ($nums == 0) {
$output = exec("D:/ProgramData/Anaconda3/python D:/xampp/htdocs/website_test/car_information.py {$value}", $out, $ret);
#echo json_encode($out);
$result = mysqli_query($con, $sql);
}
#------------------資料庫有資料---------------------
while ($row = mysqli_fetch_array($result, MYSQLI_NUM)) {
echo '<td>' . $row[0] . '</td>';
echo '<td>' . $row[1] . '</td>';
echo '<td>' . $row[2] . '</td>';
echo '<td>' . $row[3] . '</td>';
}
echo '</tr>';
echo '</table>';
}
?>
請問各位高手我是不是有漏了什麼才導致執行python後表格出不來?(感覺像是頁面沒有轉跳)
如果還需要其他資料會再補,先謝謝各位了!!
更新 : 根據多方嘗試發現原因是因為py檔的webdriver(在指定網站載圖片)導致,把爬蟲的部分刪掉表格就會顯示但是var_dump($output)的值是亂碼,$out是空,$ret為0
請問各位高手,要如何才能解決此問題?謝謝!!