Home Php C# Sql C C++ Javascript Python Java Go Android Git Linux Asp.net Django .net Node.js Ios Xcode Cocoa Iphone Mysql Tomcat Mongodb Bash Objective-c Scala Visual-studio Apache Elasticsearch Jar Eclipse Jquery Ruby-on-rails Ruby Rubygems Android-studio Spring Lua Sqlite Emacs Ubuntu Perl Docker Swift Amazon-web-services Svn Html Ajax Xml Java-ee Maven Intellij-idea Rvm Macos Unix Css Ipad Postgresql Css3 Json Windows-server Vue.js Typescript Oracle Hibernate Internet-explorer Github Tensorflow Laravel Symfony Redis Html5 Google-app-engine Nginx Firefox Sqlalchemy Lucene Erlang Flask Vim Solr Webview Facebook Zend-framework Virtualenv Nosql Ide Twitter Safari Flutter Bundle Phonegap Centos Sphinx Actionscript Tornado Register | Login | Edit Tags | New Questions | 繁体 | 简体


10 questions online user: 55

0
votes
answers
15 views
+10

同一行的兩個INSERT INTO語句SQL/php

2

我一直在努力嘗試,並且找不到解決此問題的解決方案。 我有兩個不同的INSERT語句:同一行的兩個INSERT INTO語句SQL/php

INSERT INTO `logList`(`User_ID`) SELECT `User_ID` FROM `userList` WHERE keyname='somevalue'; 
INSERT INTO `logList`(`ttime`) VALUES (CURRENT_TIMESTAMP); 

如果我執行他們,他們當然會插入2個不同的行。如何製作只返回一行的INSERT? 預先感謝您。

沙发
0
3

我會認爲這是你真正想要的:

INSERT INTO logList (User_ID, ttime) 
    SELECT User_ID, CURRENT_TIMESTAMP 
    FROM userList 
    WHERE keyname = 'somevalue'; 

我懷疑你要分成兩行顯示,一個與用戶和NULL時間和其他與NULL用戶和值的時間。

我應該注意,您可以定義loglist,因此ttime默認爲插入上的當前時間戳。在documentation中描述了這種默認值的使用。

如果你這樣做,那麼:

INSERT INTO logList (User_ID) 
    SELECT User_ID 
    FROM userList 
    WHERE keyname = 'somevalue'; 

將始終設置ttime

+0

好的我已經設法解決,非常感謝。 但是如果不是'CURRENT_TIMESTAMP'有一個實際的變量呢? 'INSERT INTO logList(USER_ID,TTIME) SELECT USER_ID,$變量 從用戶列表 WHERE鍵名= 'someValue中';' 注意的是'$ variable'不屬於'UserList'再次感謝大家。 – Madeo

+0

@Madeo。 。 。沒關係。沒問題。 –

板凳
0
1

當你問,你能做到在一個單一的插入:

INSERT INTO `logList`(`User_ID`, `ttime`) 
    SELECT `User_ID`, CURRENT_TIMESTAMP 
    FROM `userList` 
    WHERE keyname='somevalue'; 
地板
0
0

你有這樣的命令:

INSERT INTO `logList`(`User_ID`) SELECT `User_ID` FROM `userList` WHERE keyname='somevalue'; 
INSERT INTO `logList`(`ttime`) VALUES (CURRENT_TIMESTAMP); 

,這將創造兩行,你想創建一個單行。你可以做,使用一個命令:

insert into loglist(USER_ID, ttime) 
select User_ID, now() 
from userList 
where keyname = 'somevalue'; 

然而,即使這是一個解決方案,它是不是一個很優雅的一個。你應該alter loglist和修改ttime擁有的CURRENT_TIMESTAMPdefault值,然後就可以像這樣簡化您insert命令:

insert into loglist(USER_ID) 
select User_ID 
from userList 
where keyname = 'somevalue'; 

這應該是正常的行爲,因爲你的loglist表大概應該有插入的時間戳無論如何。

0
votes
answers
20 views
+10

Prestashop刪除空鏈接部件div

0

我添加了鏈接部件塊來嘗試我的Prestashop 1.7網站。嘗試之後,我刪除了鏈接控件塊。但網站上有空格。我如何刪除這些空白的div? 謝謝...Prestashop刪除空鏈接部件div

Visual description of my problem

+0

你是什麼意思的「刪除」?你完全卸載了模塊嗎? – defuzed

+0

不,我刪除了我的更改。只剩下默認頁腳塊。 –

沙发
0
0

鏈接微件模塊增加了鉤的位置上。在職位在管理面板中的頁面我解除鏈接列表掛鉤displayNav2的位置。

板凳
0
0

的div都位於這個文件的經典主題的Prestashop 1.7:

themes/classic/modules/ps_linklist/views/templates/hook/linkblock.tpl 
+0

這是鏈接控件塊的一般設計。當我更改此文件時,頁腳鏈接小部件的設計會中斷。另外我想在頁腳中使用鏈接塊。 問題:刪除鏈接控件塊後,空鏈接控件塊div仍保留在設計中。 謝謝。 –

0
votes
answers
17 views
+10

PHP改變語言在網站[選擇]

0

我想建立一個功能,可以選擇lanugage(默認爲英語),我希望它被保存一段時間。 我有翻譯的文件包括如:PHP改變語言在網站[選擇]

$ lang ['send'] ='發送';

源/ LANGS/EN /lang.php *(EN/RU/AR)

任何想法怎麼辦呢? 也許用Cookie? 我想它的安全

+0

您可以首選語言保存到用戶的個人資料數據庫,如果它是一個註冊用戶,否則你最好的解決辦法是餅乾。您只需將所選語言保存在Cookie中,而不是全部翻譯。它不是一個重要的數據需要保證。 – spirit

沙发
0
0

您可以使用會話爲

session_start(); 

// Set session lang 
$_SESSION['lang'] = 'en'; 

// Load lang vars 
require('/langs/'.$_SESSION['lang'].'/lang.php'); 
+0

但我想會話將保存7天,例如 – kaki

+0

是的,你可以保存7天,以瞭解更多關於會話配置請參閱http://php.net/manual/en/session.configuration.php –

0
votes
answers
12 views
+10

刪除內連接行

1

我創建了兩個表,簡單註釋評論者,並將它們連接到INNER JOIN刪除內連接行

  • Simplecomments是每個評論者的每一個細節,涉及其評論,reg_date,commentorid等...
  • 評論者是評論者的個人信息有下列:ID,姓名,電子郵件..

我已經加入他們成功,但我很難從聯合表中刪除。

我想使它像這樣的邏輯:

  1. 如果有一個名爲--let評註的最後一行說A--然後同時刪除他/她的評論詳細信息和他/她自己從桌子上。

  2. 否則如果A已評論很多次,有不同的意見,刪除了他/她的意見的細節,但讓他/她的個人信息仍然因爲A有沒有其他意見。

這是我如何做了它:

if (!empty($_POST["delete"])) 
{ 
    foreach ($_POST["delete"] as $key => $value) 
    { 
     $resultid = $conn->query("SELECT commentorid FROM `simplecomments` WHERE id=".$value); 
     $rowid = $resultid->fetch_assoc(); 

     $outputdelete = $rowid["name"] . " has been deleted" . "<br>"; 

     $deletedname = $deletedname.$outputdelete; 
     $RES = mysql_num_rows($resultid); 
     $counter = 0; 
      while($row = $RES) 
      { 
       //IF IT'S LAST ROW, DELETE COMMENTOR AND HIS/HER COMMENTDETAILS 
       if(++$counter == $results) { 
        $resultid = $conn->query("DELETE FROM `commentor`"); 
       } 
       //ELSE JUST DELETE HIS/HER COMMENTDETAILS, LET HIS/HER INFO REMAIN 
       else{ 
        $resultid = $conn->query("DELETE FROM `simplecomments` WHERE id=".$value); 
       } 
      } 
    } 

} 

但是代碼將無法正常工作。我得到一個錯誤:

Warning: mysql_num_rows() expects parameter 1 to be resource [..]...

+0

請發佈你得到的結果和你期望得到的結果 –

+0

@BrianDewhirst我得到一個錯誤..「警告:mysql_num_rows()期望參數1是資源,」.. 我在最後兩段中的問題中已經說明了我希望如何。 –

+0

https://stackoverflow.com/questions/2973202/mysqli-fetch-array-mysqli-fetch-assoc-mysqli-fetch-row -expects-parameter-1 –

沙发
0
2

考慮運行DELETE...INNER JOINDELETE與子查詢條件語句,避免PHP查詢獲取循環與if/else的邏輯似乎是以下幾點:

  1. 刪除任何評註者的個人資料,如果評論他/她只有一條評論
  2. 如果他/她有多個(即多個)評論,則只刪除評論者的評論。

是的,所有三個DELETE可以在所有ID上同時運行,因爲互斥條件放在前兩個和最後一個之間。因此,前兩個影響行或最後一個影響每次迭代的行。未受影響的人將從兩個表中刪除零行。

此外,simplecomments記錄首先刪除,因爲這個表可能與評註外鍵約束,因爲它一個一對多的關係。最後,下面假設評論 ID傳遞到循環(不是評論或 id)。

PHP(使用參數,假定$ conn是一個mysqli的連接對象)

foreach ($_POST["delete"] as $key => $value) { 

    // DELETE COMMENTS AND THEN PROFILE FOR COMMENTORS WITH ONE POST  
    $sql = "DELETE FROM `simplecomments` s 
      WHERE s.id = ? 
      AND (SELECT COUNT(*) FROM `simplecomments` sub 
        WHERE sub.commentorid = s.commentorid) = 1"; 
    $stmt = $conn->prepare($sql); 
    $stmt->bind_param("i", $value); 
    $stmt->execute(); 
    $stmt->close(); 

    $sql = "DELETE c.* FROM `simplecomments` c 
      INNER JOIN `simplecomments` s ON s.commentorid = c.id 
      WHERE s.id = ? 
      AND (SELECT COUNT(*) FROM `simplecomments` sub 
        WHERE sub.commentorid = s.commentorid) = 1"; 
    $stmt = $conn->prepare($sql); 
    $stmt->bind_param("i", $value); 
    $stmt->execute(); 
    $stmt->close(); 


    // DELETE COMMENTS FOR COMMENTORS WITH MULTIPLE POSTS BUT KEEP PROFILE 
    $sql = "DELETE FROM `simplecomments` s 
      WHERE s.id = ? 
      AND (SELECT COUNT(*) FROM `simplecomments` sub 
        WHERE sub.commentorid = s.commentorid) > 1";  
    $stmt = $conn->prepare($sql); 
    $stmt->bind_param("i", $value); 
    $stmt->execute(); 
    $stmt->close(); 
} 

或者,對於DRY-ER方法中,循環的SQL語句中的陣列:

$sqls = array(
      0 => "DELETE FROM `simplecomments` s WHERE s.id = ? AND (SELECT COUNT(*) FROM `simplecomments` sub WHERE sub.commentorid = s.commentorid) = 1", 
      1 => "DELETE c.* FROM `simplecomments` c INNER JOIN `simplecomments` s ON s.commentorid = c.id WHERE s.id = ? AND (SELECT COUNT(*) FROM `simplecomments` sub WHERE sub.commentorid = s.commentorid) = 1", 
      2 => "DELETE FROM `simplecomments` s WHERE s.id = ? AND (SELECT COUNT(*) FROM `simplecomments` sub WHERE sub.commentorid = s.commentorid) > 1" 
     ); 

foreach ($_POST["delete"] as $key => $value) { 
    foreach($sqls as $sql) { 
     $stmt = $conn->prepare($sql); 
     $stmt->bind_param("i", $value); 
     $stmt->execute(); 
     $stmt->close(); 
    } 
} 
+0

非常感謝你的男人,感激它!然而,c代表評論者,s代表簡單評論和sub? –

+1

太棒了!樂意效勞。是的,這些字母是實際表格的表別名,有助於縮短查詢時間,並有助於在使用相同表格的子查詢和外部查詢之間進行關聯。 – Parfait

0
votes
answers
39 views
+10

正則表達式破HTML匹配

-3

我想刪除像破碎的HTML標籤:正則表達式破HTML匹配

<p>right here</p>....<iframe class 
<b>Very nice</b>...<ifr 

等我的把內容限制在HTML字符串腳本的休息和關閉是工作的罰款任何打開的標籤,這破壞的標籤將始終在字符串的結尾處。 到目前爲止,我實現的是:

#<[^>]*#i 

的問題是,它認爲部分標籤 <iframe爲好。

IFRAME只是舉例...

編輯: 我的PHP版本不支持DOM文檔,這就是爲什麼要對正則表達式。我已經實現了Closing open HTML tags用於關閉字符串中的任何打開標籤,但它允許打破標籤。

+0

可能的重複[使用PHP關閉或修復損壞的img標記](https://stackoverflow.com/questions/25846098/close-or-fix-a-broken-img-tag-using -php) – iainn

+0

但是我不想使用DOMDocument –

+2

爲什麼不呢?這是標準的PHP擴展,用於處理可能損壞的標記。 – iainn

沙发
0
0

使用標準的PHP擴展總是最好的選擇。但是,對於那些誰是同樣的問題,並通過PHP版本的限制,這是一個完美的把長度限制在任何HTML字符串的函數:在我的情況完全工作

/** 
* Crops HTML text ensuring valid HTML 
* 
* @param string HTML string 
* @param int  The length up to which HTML string is to be limited 
*/ 
protected function limitHtml($html, $length) 
{ 
    // Ignoring style tags for displayable string length 
    preg_match_all('/<style>(.*?)</style>/s', $html, $cssMatches); 
    $html = preg_replace('/<style>(.*?)</style>/s', '', $html); 
    // css 
    $css = ''; 
    if (isset($cssMatches[1])) { 
    foreach ($cssMatches[1] as $cmatch) { 
     $css .= "<style>$cmatch</style>"; 
    } 
    }  
    $truncatedText = substr($html, 0, $length); 
    $pos = strpos($truncatedText, ">"); 
    if($pos !== false) 
    { 
     $html = substr($html, 0,$length + $pos + 1); 
    } 
    else 
    { 
     $html = substr($html, 0,$length); 
    } 

    // Relace The Broken Opened Tag From The the end of String 
    $lastCorruptopnArrow = strrpos($html, "<"); 
    $lastCloseArrow = strrpos($html, ">"); 
    if ($lastCloseArrow < $lastCorruptopnArrow) { 
    $corruptHTmlString = substr($html, $lastCorruptopnArrow, strlen($html) - $lastCorruptopnArrow); 
    $html = preg_replace('/'. preg_quote($corruptHTmlString, '/') . '$/', '', $html); 
    } 

    preg_match_all('#<(?!meta|img|br|hr|input)([a-z]+)(?: .*)?(?<![/|/ ])>#iU', $html, $result); 

    $openedtags = $result[1]; 
    preg_match_all('#</([a-z]+)>#iU', $html, $result); 
    $closedtags = $result[1]; 
    $len_opened = count($openedtags); 
    if (count($closedtags) == $len_opened) 
    { 
     return $css . $html; 
    } 
    $openedtags = array_reverse($openedtags); 
    for ($i=0; $i < $len_opened; $i++) 
    { 
     if (!in_array($openedtags[$i], $closedtags)) 
     { 
      $html .= '</'.$openedtags[$i].'>'; 
     } 
     else 
     { 
      unset($closedtags[array_search($openedtags[$i], $closedtags)]); 
     } 
    } 
    return $css . $html; 
} 

。打開以增強:limit_html()

板凳
0
1

您需要使用任何HTML解析器來獲得正確的結果,但這是正則表達式的方法,您希望

(<w+(?:s+w+="[^"]+")*)(?=[^>]+(?:<|$)) 

demo and some explanation

使用

$res = preg_replace('/(<w+(?:s+w+="[^"]+")*)(?=[^>]+(?:<|$))/, '$1>', $str); 
0
votes
answers
13 views
+10

How can i get phonegap-plugin-push senderID

How can i get phonegap-plugin-push senderID

i tried looking on internet but none of them seems to be working , may be google has updated something .

https://console.developers.google.com

have created a new project here .

after i went inside dashboard . I see the message No APIs or services are enabled .

can anyone please guide .

this is my code where i'm trying to replace my sender id

console.log('calling push init');
var push = PushNotification.init({
    "android": {
        "senderID": "XXXXXXXX"
    },
    "browser": {},
    "ios": {
        "sound": true,
        "vibration": true,
        "badge": true
    },
    "windows": {}
});
console.log('after init');

push.on('registration', function(data) {
    console.log('registration event: ' + data.registrationId);

    var oldRegId = localStorage.getItem('registrationId');
    if (oldRegId !== data.registrationId) {
        // Save new registration ID
        localStorage.setItem('registrationId', data.registrationId);
        // Post registrationId to your app server as the value has changed
    }

    var parentElement = document.getElementById('registration');
    var listeningElement = parentElement.querySelector('.waiting');
    var receivedElement = parentElement.querySelector('.received');

    listeningElement.setAttribute('style', 'display:none;');
    receivedElement.setAttribute('style', 'display:block;');
});

push.on('error', function(e) {
    console.log("push error = " + e.message);
});

push.on('notification', function(data) {
    console.log('notification event');
    navigator.notification.alert(
        data.message,         // message
        null,                 // callback
        data.title,           // title
        'Ok'                  // buttonName
    );

});

Thanks in advance .

0
votes
answers
37 views
+10

(SQL)輸入select語句

-3

我想打一個項目,以找到一個租來的房子/房間 用戶可以發表自己的房間/房子租 和其他人可以看到它在地圖(SQL)輸入select語句

第一用戶應該登錄,然後在他在表格位置註冊他的位置。 表位置包括id_location,lat,lng,id_user等。 id_location是自動增量,它的主鍵。 id_user來自用戶登錄的會話,它讀取該用戶名,其外鍵。 其餘的都是由用戶輸入, 我已經成功進行,直到這一點

和接下來的事情就是用戶去接房子或租到房子 例子;他們想租一間房。 這個房間的桌子有id_room,id_user,id_location,rate等 id_room是自動增量的主鍵。 id_user來自用戶登錄的會話,因此它讀取用戶名。 和問題是爲id_location。 數據庫如何能從最後一個位置輸入/位置tbl獲得id_location?

因爲一個位置可以有一個以上的房間,房間的類型可以不同,比如它的速率,設施等。 因此我爲每個房間輸入了幾個輸入,然後用戶可以創建它的每個房間自己的房間的數據,但有一個相同的id_location

我的意思是這樣

insert into tbl_room 
values (null, '$_SESSION[username]', '$rate','$bla' ,'...','...' ,'...' ,) 
where id_location from location.id_location 

,但我知道「其中」不能在輸入方案..

我讀過一些有關選擇STA tement 但我不知道在我的情況下選擇是如何工作的,我的意思是準確的查詢將

我希望UR明白我的問題 感謝BE4

+0

如果你想'INSERT'的東西你可能想看看['INSERT INTO'](https://dev.mysql.com/doc/refman/5.7/en/inse rt.html)而不是'SELECT'。 –

+1

[Insert into ... values(SELECT ... FROM ...)]的可能重複(https://stackoverflow.com/questions/25969/insert-into-values-select-from) – yacc

沙发
0
0

在這種情況下,你有一個一對多的關係,一個地點可以有很多房間。簡單的解決方案是在房間表上有一列,它引用房間所在位置的位置ID。

你可以讓這樣的事情在MySQL

Create table locations (
    Id int auto_increment, 
    Location varchar(100) 
) 

Create table rooms (
    Id int auto_increment, 
    Location_id int 
) 

ALTER TABLE rooms ADD CONSTRAINT fk_location 
    FOREIGN KEY (location_id`) REFERENCES locations (id) 

的插入會與此類似:

Insert into room (location_id) values ({$locationId}); 

然後你就可以通過東西拿到房間位置像

Select l.location 
From location l 
    Inner join rooms r on r .id_location = l.id 
Where r.id = {$roomId} 
0
votes
answers
7 views
+10

如何使用jQuery在聊天中檢查消息狀態「消息可見」

0

我有一個使用PHP,mySQL和jQuery創建的聊天應用程序。它對我來說工作得很好。但是現在我想在接收者看到消息時添加「消息可見」功能。或者它可以像在WhatsApp中做的那樣是一個「勾號」功能。問題是我不知道如何做到這一點。如何使用jQuery在聊天中檢查消息狀態「消息可見」

下面是僅用於在用戶之間發送和接收消息的腳本。我需要做什麼來實現這一點?

$ = jQuery; 
var currentID = null; 
var chatTimer = null; 
var oldhtml = ""; 

function fetch_data() { 
    $.ajax({ 
    url: "select.php", 
    method: "POST", 
    success: function(data) { 
     $('#live_data').html(data); 
    } 
    }); 
} 

function fetch_chat() { 
    $.ajax({ 
    url: "fetch_chat.php", 
    method: "POST", 
    data: { 
     id: currentID 
    }, 
    dataType: "text", 
    success: function(data) { 
     $("#chatbox").show(); 
     $('#messages').html(data); 
     $("div.area").show(); 
     if (oldhtml !== data) { 
     $('#messages').scrollTop($('#messages')[0].scrollHeight); 
     } 
     oldhtml = data; 
    } 
    }); 
} 

$(document).ready(function() { 
    fetch_data(); 

    setInterval(function() { 
    fetch_chat(); 
    }, 500); 

    $(document).on('click', '.first_name', function() { 
    currentID = $(this).data("id1"); 
    fetch_chat(); 
    }); 

    $("#sub").click(function() { 
    var text = $("#text").val(); 
    $.post('insert_chat.php', { 
     id: currentID, 
     msg: text 
    }, function(data) { 
     $("#messages").append(data); 
     $("#text").val(''); 
    }); 
    }); 
}); 
+0

目前尚不清楚「看到」的定義是什麼查看此處查看如何檢查某些內容在視口中可見https://www.google.nl/search?q=jquery+is+visible+in+ viewport – mplungjan

+0

當接收者查看接收到的MessAge時,看到的意思是「看到」應顯示給發件人 –

+0

您需要詳細說明您的數據模型...例如這個問題,因爲它目前是太寬泛IMO – abigperson

沙发
0
0

你需要一個標誌在您的訊息表, 當接收器獲取一些信息,這些信息的狀態應設置爲「可見」,或者,如果你願意,你可以使用Ajax調用做到這一點後,該接收者打開聊天框或發生任何事件(如接收者點擊聊天框)。 在聊天框中,您必須爲每條消息設置id,並且每次您檢索消息或檢查新消息時,還必須檢查「unseen」消息並在消息旁邊發送消息狀態,並且使用javascript,必須更改類這些消息的「看不見」和其他消息「看到」

板凳
0
0

我假設消息被「看到」它必須是可見的聊天的HTML節點($(「#消息」)在你的情況) ,這意味着某種原因它可以被隱藏(例如:另一個聊天html節點「活動」,如果有幾個,並且只有一個可以一次處於活動狀態,或者瀏覽器標籤失焦,或者甚至消息不在聊天html節點的滾動視圖...)。因此,爲什麼不只是添加事件監聽器,監聽它是否獲取「活動」狀態或瀏覽器選項卡焦點......當條件滿足時,只需執行一個ajax查詢來改變狀態(接收到的,閱讀(在這種情況下)...)數據庫中的消息的ID(假設每個消息都有一個唯一的ID集)。當然,應該有一個定時器retreiving消息的狀態,屆時,在發送方,你選擇閱讀消息的ID和設法讓他們「打勾」的意願,甚至做別的事情。

+0

你可以提供的代碼。如果可能的話 –

0
votes
answers
76 views
+10

將Android連接到服務器時測試PHP文件

0

我正在嘗試使Android應用連接到數據庫。目前,我沒有擁有數據庫的網絡主機,因此我使用Wamp先測試我的文件。我決定使用Intellij Idea創建Android應用程序,我想我已將數據庫窗口連接到我的Wamp數據庫(這是Intellij顯示的URL:jdbc:mysql://127.0.0.1:3306/stickyrice)。考慮到這一點,我嘗試過進行初步研究並找到將Android應用程序連接到數據庫的方法。但是,我的問題是,如何測試我已連接到服務器的PHP文件,因爲使用Intellij給我的URL不起作用?將Android連接到服務器時測試PHP文件

+0

既服務器和clie nt必須連接到相同的網絡 –

+0

顯示您在您的PC上的瀏覽器中使用的URL,以便通過您的網絡服務器與服務器連接。所以在你的電腦上測試你的php文件來開始。 – greenapps

+0

@greenapps所以我直接從Intellij測試我的php文件,還是將它移動到Wamp的www文件夾中? –

沙发
0
0

如果您主要關注的是從數據庫從Android設備閱讀,然後在相同的設備作爲本地主機上的模擬器的URL是http://10.0.2.2:3306/stickyrice

如果你想從實際設備讀取數據庫,然後,您應該將手機和本地主機連接到同一本地網絡,您可以通過共享熱點並關閉移動數據連接來完成此操作,之後您可以在網絡上獲取本地主機的IP地址,並且您的網址將變爲http://your_localhost_ip_address:3306/stickyrice

希望這有助於

+0

感謝您的回覆。我試過仿真器上的第一個URL,它說這個頁面沒有工作。我正在嘗試做的是將Android應用程序連接到數據庫。但我有問題測試我的PHP,以確保它在服務器上的作品。我不知道在哪裏保存我的php文件,因爲我使用Wamp來運行服務器,但我將它保存到Intellij項目中。 –

+0

'它說網頁不工作.'你的網址應該以一個php文件名結尾。 'HTTP://............../ mypage.php'。並且不要使用端口3306,因爲這是數據庫的端口之一。對於php schript,使用默認端口80。 – greenapps

0
votes
answers
21 views
+10

在laravel中找不到請求類

1

我有一個簡單的表單,我想用db提交。但它給我錯誤。 這裏是我的CreateProductRequest類在laravel中找不到請求類

namespace AppHttpRequestsRequest; 
use IlluminateFoundationHttpFormRequest; 

class CreateProductRequest extends FormRequest{ 
    //code here 
} 

這裏是我的控制器功能。

namespace AppHttpControllersPrivatePages; 
use AppHttpControllersController; 
use AppHttpRequestsRequestCreateProductRequest; 
use AppProductuse IlluminateSupportServiceProvider; 
use IlluminateSupportFacadesView; 
use IlluminateSupportFacadesDB; 
use AppHttpFormRequests; 

class ProductController extends Controller{ 
    public function UpdateAdminProfile(CreateProductRequest $request){ 
     $saveproduct = new Product(); 
     $saveproduct->name = $request->name; 
     $saveproduct->quantity =$request->description; 

     $saveproduct->save(); 
    } 
} 

當我試圖提交表單它給我下面的錯誤。

Class AppHttpRequestsRequestCreateProductRequest does not exist 
+0

您的控制器錯字錯誤。請閱讀第四行。 **使用App Product使用Illuminate Support ServiceProvider; ** –

+0

它說'Class App Http Requests Request CreateProductRequest不存在'在哪個文件上?也許你有名字空間問題。 – ultrasamad

+0

是它的類似命名空間問題,但所有名稱空間都被正確定義和使用 – raja

沙发
0
0

如果你已經正確按照命令生成的請求:

php artisan make:request ContactsRequest 

仔細檢查您有一個名爲ContactsRequest.php文件夾下:

app/Http/Requests 

如果你有一個下該文件夾將能夠使用以下方式使用您的自定義ContactsRequest:

public function somefunction(RequestsContactsRequest $request) 
+0

我有目錄中的所有文件 – raja

+0

你運行了composer dump-autoload嗎? –

+0

是的,我已經運行這個命令 – raja

板凳
0
0

嘗試在您的laravel項目目錄上運行composer dump-autoload

也試試這個代碼

public function UpdateAdminProfile(CreateProductRequest $request) { 
    DB::beginTransaction(); 
    try { 
     $saveproduct = new Product(); 
     $saveproduct->name = $request->name; 
     $saveproduct->quantity =$request->description; 

     $saveproduct->save(); 
     DB::commit(); 
    } catch (Exception $e) { 
     echo $e->getMessage(); 
     DB::rollback(); 
    } 

} 

不要忘記添加使用照亮的 Support 外立面 DB;

namespace AppHttpRequests 

並在控制器:類

+0

現在它只是刷新瀏覽器,並沒有提交數據在分貝。 – raja

+0

好吧,現在嘗試將$ request-> name和$ request-> description改爲$ request-> get('name')和$ request-> get('description'); – wedev27

+0

同它只是刷新瀏覽器 – raja

地板
0
0

更改命名空間之前

use AppHttpRequestsCreateProductRequest; 
+0

不,不工作只是刷新瀏覽器。現在它甚至不會按照表單行動 – raja

+0

@raja這意味着它的工作,你已經修復了錯誤。空白的瀏覽器是您需要解決的下一個問題。 –

+0

沒有它的不工作它只是向我顯示包含提交按鈕的表單,並且此表單由CreateProductRequest進行驗證。 – raja