2013-03-12 69 views
-4

您能否幫助我將此Coldfusion語句轉換爲PHP以更新MySQL?將ColdFusion查詢轉換爲PHP

<cfquery name="getrecords"> 
select email,name,id,status from table1 
where status = 0 
</cfquery> 

<cfloop query="getrecords"> 
    <p>#getrecords.name#</p> 
    <p>#getrecords.name#</p> 

    <cfquery name="update"> 
    update table1 set status =1 where status = #getrecords.status# 
    </cfquery> 
</cfloop> 
+3

@Matt - 它不是過時的。去年有兩個新的主要發佈。一個由Adobe和一個由Railo提供。 – 2013-03-12 15:32:56

+0

@MattBusche夠公平的。我想我暴露了我對那個的無知:-) – Matt 2013-03-12 17:14:31

+0

在我看來,你正在循環狀態= 0的記錄集,並設置狀態= 1的每個記錄...你總是可以運行一個查詢,將顯示狀態爲0的記錄,然後運行狀態爲0的SINGLE更新語句。 #getrecords.status#在您的代碼中始終爲0 – user1137313 2016-08-22 07:00:19

回答

1

查詢不多數民衆贊成處理這些語言的範圍內改變 - 他們是SQL兩種方式。閱讀PHP here中的執行mysql查詢。

1

在任何編程語言中,您發佈的代碼都是不好的做法,因爲您正在循環中運行單個更新查詢。既然你在轉換,你應該看看改進的東西。這是相同的邏輯,但只有一個更新查詢。

<cfquery name="getrecords"> 
    SELECT name 
    FROM table1 
    WHERE status = 0 
</cfquery> 

<cfoutput query="getrecords"> 
    <p>#name#</p> 
</cfoutput> 

<cfquery name="updaterecords"> 
    UPDATE table1 
    SET status = 1 
    WHERE status = 0 
</cfquery> 

Matt已經爲您提供了使用php運行mysql查詢的參考。

+0

原始查詢也容易受到sql注入的影響。無論您使用何種語言,始終使用綁定變量來保護查詢! – Leigh 2013-03-13 14:43:01