2017-06-20 58 views
0

我想從PHP中的字符串中刪除最後7個字符,然後將其作爲結果寫入表中。當我在Navicat中創建Mysql查詢時,我得到了所需的字符串,但我無法將其移入PHP並使其工作。下面是工作MySQL查詢(在Navicat):在Mysql/PHP中刪除字符串中的最後7個字符

SELECT 
SUBSTRING(ssp_subjects.uid, 1, LENGTH(ssp_subjects.uid) -7), 
ssp_subjects.namefirst, 
ssp_subjects.namelast, 
ssp_subjects.imageactual, 
ssp_subjects.accesscode, 
ssp_subjects.correction, 
ssp_subjects.correctiondate 
FROM 
ssp_subjects 
WHERE 
ssp_subjects.correction = 1 

返回:

CCU-SOC-14-05-31-A KYLE O'CONNOR 29 GFKDPFLM3F 1 2017年6月20日9點14 :39

(這是正確的,因爲它從UID結束脩整最後7個字符)。

在PHP中,我試圖建立一個類似的表,但我似乎不能寫SUBSTRING語句正確。這就是我說,造表在PHP中:

 $sql = "SELECT 
    ssp_subjects.correctiondate, 
    ssp_subjects.namelast, 
    ssp_subjects.namefirst, 
    ssp_subjects.imageactual, 
    ssp_subjects.accesscode, 
    ssp_subjects.uid 
    FROM 
     ssp_subjects 
    WHERE 
     ssp_subjects.correction = 1"; 

    $result = $conn->query($sql); 

if ($result->num_rows > 0) { 
    echo "<table><tr><th>Date</th><th>Job Name</th><th>Team Number</th><th>Type</th><th>Last Name</th><th>First Name</th><th>Access Code</th><th>Sequence</th><th>Card</th><th>Image</th><th>UID</th><th>Order</th></tr>"; 
    // output data of each row 
    while($row = $result->fetch_assoc()) { 
     echo "<tr> 
     <td>".$row["correctiondate"]."</td> 
     <td><p>Corrections</p></td> 
     <td><p>10</p></td> 
     <td><p>Player</p></td> 
     <td>".$row["namelast"]." </td> 
     <td>".$row["namefirst"]."</td> 
     <td>".$row["accesscode"]." </td> 
     <td><p>1000</p></td> 
     <td>".$row["imageactual"]." </td> 
     <td> ".$row["uid"]." </td> 
     <td><p>1x1</p></td> 
     </tr>"; 
     } 
     echo "</table>"; 
    } else { 
     echo "0 results"; 
    } 

當我嘗試添加SUBSTR在PHP它返回一個:不是修剪字符串錯誤,「未定義指數UID」。

$sql = "SELECT 
    ssp_subjects.correctiondate, 
    ssp_subjects.namelast, 
    ssp_subjects.namefirst, 
    ssp_subjects.imageactual, 
    ssp_subjects.accesscode, 
    SUBSTRING(ssp_subjects.uid, 1, LENGTH(ssp_subjects.uid) -7) 
FROM 
    ssp_subjects 
WHERE 
    ssp_subjects.correction = 1"; 

$result = $conn->query($sql); 

在此先感謝!

+3

'SUBSTR($字符串,-7)' – Pickle

+0

我相當肯定的是相同的SQL將在您的查詢工作。爲什麼在PHP中? – mkaatman

+0

我正在使用PHP,因爲我需要創建一個可以由我們的實驗室技術人員複製的過程。我們的內部數據庫是用PHP編寫的。最終目標是創建一個可以通過CSV「下載」的表格。我剛開始嘗試建立桌子。 –

回答

2

從PHP中的字符串中刪除的最後7個字符的代碼是

$string = substr($string, 0, -7);

相關問題